Форум сайта python.su
0
Здравствуйте, помогите новичку, Py 3.3 32x win7 64x
f = open('Connect (2).txt', mode = 'rt') x = [line.rstrip() for line in f] f.close print(x) #в результате получаю: ['яю[\x00o\x00l\x00e\x00d\x00b\x00]\x00']
Отредактировано Ilyxa (Апрель 11, 2013 17:57:38)
Офлайн
16
Попробуй
print(str(x))
for line in open('Connect (2).txt'): # Использование итератора: лучший способ print(line, end='') # чтения текста
пример представляет наиболее предпочтительный способ ра-(с) Лутц М.
боты с текстовыми файлами. Он не только проще, но и способен работать
с файлами любого размера, так как не загружает файл целиком в па-
мять. Версия на базе итератора может оказаться самой быстрой, но пока
остается неясным вопрос, связанный с производительностью операций
ввода-вывода в Python3.0.
Отредактировано alexbadaloff (Апрель 11, 2013 16:32:52)
Офлайн
0
Спасибо, но результат тот же…
Офлайн
16
Я думаю это с кодировками траблы.
Попробуй
print(line.encode('utf-8'), end='')Офлайн
0
пробовал уже, не помогает.. (файл пересохранил)
и так пробовал open('Connect.txt'.encode('utf-8'), ‘tr’)
может здесь дело в том, что py 32, а win 64?
Отредактировано Ilyxa (Апрель 11, 2013 17:59:03)
Офлайн
47
>и так пробовал open('Connect.txt'.encode('utf-8'), ‘tr’)
зачем гадать, не проще ли глянуть в доки
http://docs.python.org/3/library/functions.html?highlight=open#open
encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent (whatever locale.getpreferredencoding() returns), but any encoding supported by Python can be used. See the codecs module for the list of supported encodings.
Офлайн
0
и что я должен сделать? я не понимаю
Отредактировано Ilyxa (Апрель 11, 2013 19:33:58)
Офлайн
0
в py 2.7
f = open('Connect.txt','rn') тоже самое
вот файл можете сами попробовать…
это … файл, который … не текстовый, все работает в …
Отредактировано Ilyxa (Апрель 11, 2013 20:01:12)
Прикреплённый файлы:
Connect.txt (380 байт)
Офлайн
47
в какой кодировке у тебя файл?
Офлайн
16
Ну как и предполагалось. Твой файл был в кодировке UTF-16 LE with BOM.
Вот твой файл в UTF-8, который обрабатывается нормально:
Отредактировано alexbadaloff (Апрель 11, 2013 22:53:09)
Прикреплённый файлы:
Connect.txt (189 байт)
Офлайн