2015-04-11 5 views
-1

Я создал файл txt в Microsoft Word и сохранил его как texta.txt в папке untitled. Я также сохранил файл python как texti.py в той же папке untitled.Ошибка при попытке открыть файл

При переходе обратно Wing IDE, я напечатал следующее:

infile = open('texta.txt') 
lines = infile.readlines() 

и он вернулся:

Traceback (most recent call last): 
    File "/Applications/Wing101.app/Contents/MacOS/src/debug/tserver/_sandbox.py", line 2, in <module> 
    if __name__ == '__main__': 
    File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/encodings/ascii.py", line 26, in decode 
    return codecs.ascii_decode(input, self.errors)[0] 
builtins.UnicodeDecodeError: 'ascii' codec can't decode byte 0xd5 in position 192: ordinal not in range(128) 

я хочу, чтобы открыть файл (текст), и распечатать его в питон оболочка.

+2

Вы уверены, что это действительно текстовый файл, или это файл doc, который просто имеет расширение 'txt'? Кроме того, вы можете проверить кодировку файла и использовать 'open ('texta.txt', encoding =" some encoding ")' –

+0

Да. когда я заканчиваю писать текст на M.word, я нажимаю save as, а затем он спрашивает, в каком формате, я нажимаю: «Обычный текст (.txt)». Я также использовал endcoding, он вернулся: 'builtins.LookupError: неизвестная кодировка: некоторая кодировка –

+0

Ну, вы не должны _literally_ поместить' 'некоторую кодировку '' там, но на самом деле в кодировке есть файл. См. [Здесь] (https://docs.python.org/3/library/functions.html#open). Откройте файл с достойным текстовым редактором, чтобы узнать, какой из них он есть. –

ответ

0

Когда вы сохраняете файл как .txt, вы должны указать кодировку вместо того, чтобы позволить редактору выбрать для вас, а не сообщать вам. LibreOffice имеет два параметра SaveAs: Text (.txt) 'и' Text - выберите кодировку (.txt) '. MS Word также должен иметь возможность выбирать кодировку. Если нет, получите редактор, который делает. И выберите UTF8, если у вас нет причины выбирать иначе.

Особое сообщение об ошибке подсказывает мне, что ваш текстовый файл не является utf8. Вероятной альтернативой является «latin1». Если да, то b'\xd5'.decode('latin1') == 'Õ'. Если «Х» - это 195-й символ в вашем файле, используйте encoding=latin1. Если нет, вы можете догадаться о чем-то другом. Или повторно открыть с MS Word на одной машине и сохранить с известной кодировкой.

Смежные вопросы