Я знаю, что есть несколько вопросов по этой теме, но я не мог получить ответ, который я ищу. Поэтому я все равно спрошу. Я новичок :)Python 3 UnicodeDecodeError: кодек ascii не может декодировать байт 0xc2
У меня есть эта простая функция:
f =[]
def extract_row():
with open('country_codes.txt') as infile:
for line in infile:
x = (line.split()[0])
f.append(x)
print (f)
extract_row()
Он работает на Python 2.7, так что я мог бы получить информацию мне нужно.
['AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AN', 'AO', 'AQ', 'AR'...
Но когда я пытаюсь запустить его на Python 3.4 Я получаю эту ошибку:
Traceback (most recent call last):
File "/Users/juanlozano/Documents/geonames/extractRow.py", line 8, in <module>
extract_row()
File "/Users/juanlozano/Documents/geonames/extractRow.py", line 4, in extract_row
for line in infile:
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 31: ordinal not in range(128).
Кто-нибудь может дать какую-то информацию об этом?
Вот некоторые строки из текстового файла, я использую: enter image description here
Пожалуйста [править] Ваш вопрос и опубликовать содержимое 'country_codes.txt', по крайней мере, первые 30 строк или около того. – MattDMo
Запускаете ли вы это из сеанса терминала на OS X? Если это так, проверьте настройки Terminal-> Preferences-> Encodings. – cdarke
Я положил изображение файла. Thanx для вашей помощи MattDMo. – Juanloz