Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 10, 2009 16:05:43

Oduvan
От:
Зарегистрирован: 2008-07-19
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Чудо Eclipse, или кодировка в csv

Вот кусок кода

#!/usr/bin/python
# coding: utf-8
import csv;
import codecs
spamWriter = csv.writer(codecs.open('/tmp/ptest/test.csv', 'a','utf8'), delimiter=',',quotechar='"', quoting=csv.QUOTE_ALL,lineterminator='\n')
spamWriter.writerow([u'1234269193569778', u'1234269116106604', u'log', u'SendData:<publicChat>Всем привет</publicChat>', u'3', u'http_request', u'/home/oduvan/www/gameforweb/Tests/GameClient/Base.py', u'77'])
если его запускать из консоли python my_script.py

то выдает ошибку:

Traceback (most recent call last):
File "my_script.py", line 8, in <module>
spamWriter.writerow([u'1234269193569778', u'1234269116106604', u'log', u'SendData:<publicChat>Всем привет</publicChat>', u'3', u'http_request', u'/home/oduvan/www/gameforweb/Tests/GameClient/Base.py', u'77'])
UnicodeEncodeError: 'ascii' codec can't encode characters in position 21-24: ordinal not in range(128)
но если из Eclipse (PyDev) то работает все идеально.

я просерил, используется один и тотже интрпритатор
только параметр -u доставляется.

Переменные окружения отличаются. Но я пробавал призапуске из скрипта использовать
'PYTHONIOENCODING': ‘UTF-8’
'PYDEV_CONSOLE_ENCODING': ‘UTF-8’

у меня такое ощущение, что решение гдето совсем на поверхности, и совсем простое.. но я чегото не понимаю.



Офлайн

#2 Фев. 10, 2009 21:16:01

Oduvan
От:
Зарегистрирован: 2008-07-19
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Чудо Eclipse, или кодировка в csv

Сори
перенервничал
переволновался
не заметил

http://docs.python.org/library/csv.html#csv-examples



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version