Уведомления

Группа в Telegram: @pythonsu

#1 Май 11, 2013 08:26:53

tibs
От:
Зарегистрирован: 2011-06-30
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировкой CP1251

Столкнулся сегодня с непонятным багом.

Файл простой:

# coding: cp1251
# привет
import csv, os
f = open('1.txt', 'wb')
writer = csv.writer(f, delimiter=';')
files = os.listdir('temp')
for file in files:
    print file
    exit()

Как только я вытираю комментарий на руском, скрипт перестает работать и выдает ошибку:
D:\work>dates.py
File “D:\work\dates.py”, line 2
exit()fileles:('temp')imiter=';')
^
SyntaxError: invalid syntax

В чем может быть дело?

ОС Windows 7 32bit, Python 2.7.3 (default, Apr 10 2012, 23:31:26)



Отредактировано tibs (Май 11, 2013 08:27:17)

Прикреплённый файлы:
attachment dates.py (168 байт)

Офлайн

#2 Май 11, 2013 08:48:08

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Проблема с кодировкой CP1251

А у меня он работает и до вытирания и после. Смотрите внимательнее что вы там насохраняли.

:)
ОС Windows 7 32bit, Python 2.7.3

Может вам поможет инструмент http://sourceforge.net/projects/winmerge/

Заметил что вы файл приложили. Вы умудрились мковские соглашения о конце строк применить. Это под виндами не катит. (должно быть или \xd\xa или \xa а у вас только \xd). Смотрите настройки редактора.



Отредактировано doza_and (Май 11, 2013 08:59:53)

Офлайн

#3 Май 11, 2013 09:09:48

tibs
От:
Зарегистрирован: 2011-06-30
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировкой CP1251

doza_and
Notepad ++ 6.3 (UNICODE)

Из настроек менял только замену табов на 4 пробела.
Файл создаю из Total Commander комбинацией Shift + F4.



Офлайн

#4 Май 11, 2013 14:46:39

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Проблема с кодировкой CP1251

Интересный способ установки кодировки…
Зачем в ХР для питонячих скриптов использовать Notepad ++. Посмотрите лучше PyScripter и Ваша жизнь станет легка и прекрасна :)



Отредактировано 4kpt (Май 11, 2013 14:47:12)

Офлайн

#5 Май 11, 2013 16:04:09

tibs
От:
Зарегистрирован: 2011-06-30
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировкой CP1251

4kpt
Интересный способ установки кодировки…Зачем в ХР для питонячих скриптов использовать Notepad ++. Посмотрите лучше PyScripter и Ваша жизнь станет легка и прекрасна :)
Не всегда удобно с собой тягать IDE.



Офлайн

#6 Май 11, 2013 16:08:28

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Проблема с кодировкой CP1251

Есть portable версия. Весит где-то 120 мб. Что Вас смущает?



Отредактировано 4kpt (Май 11, 2013 16:08:57)

Офлайн

#7 Май 15, 2013 10:43:10

Anton9121
Зарегистрирован: 2013-05-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировкой CP1251

В Notepad++ выставите окончания строк Unix.

Офлайн

#8 Май 15, 2013 21:39:33

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Проблема с кодировкой CP1251

:)

tibs
Не всегда удобно с собой тягать IDE.
вы тягаете питон или его dll
посмотрел размер
notepad++ 19Mb
pyscripter 14Mb

полноценная ide меньше чем ваш редактор.



Офлайн

#9 Май 15, 2013 23:57:10

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Проблема с кодировкой CP1251

doza_and
у меня 13.4Мб NotePad++ =)
а вообще программа то хорошая, это же расширенный текстовой редактор, не только для Python, но и для самых разнообразных задач. Попробуйте открыть например тестовой файл размером 100мб+ . Вот мне по работе приходится. Ну это я так, к слову о том что некорректно сравнивать программы общего назначения и специализированные, у последних по определению должно быть преимущество.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version