Найти - Пользователи
Полная версия: open()
Начало » Python для новичков » open()
1 2
Ilyxa
Здравствуйте, помогите новичку, 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']

как мне получить строку в нормальном виде - “oledb”?
alexbadaloff
Попробуй
print(str(x))

Я бы посоветовал воспользоваться этим кодом:

for line in open('Connect (2).txt'): # Использование итератора: лучший способ 
    print(line, end='')           # чтения текста

пример представляет наиболее предпочтительный способ ра-
боты с текстовыми файлами. Он не только проще, но и способен работать
с файлами любого размера, так как не загружает файл целиком в па-
мять. Версия на базе итератора может оказаться самой быстрой, но пока
остается неясным вопрос, связанный с производительностью операций
ввода-вывода в Python3.0.
(с) Лутц М.
Ilyxa
Спасибо, но результат тот же…
alexbadaloff
Я думаю это с кодировками траблы.
Попробуй
print(line.encode('utf-8'), end='')
Можно еще файл попробовать пересохранить в utf-8
Ilyxa
пробовал уже, не помогает.. (файл пересохранил)
и так пробовал open('Connect.txt'.encode('utf-8'), ‘tr’)
может здесь дело в том, что py 32, а win 64?
bismigalis
>и так пробовал 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.
Ilyxa
и что я должен сделать? я не понимаю
Ilyxa
в py 2.7
f = open('Connect.txt','rn') тоже самое
вот файл можете сами попробовать…

это … файл, который … не текстовый, все работает в …
bismigalis
в какой кодировке у тебя файл?
alexbadaloff
Ну как и предполагалось. Твой файл был в кодировке UTF-16 LE with BOM.
Вот твой файл в UTF-8, который обрабатывается нормально:
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB