Я только что добавил интерпретатор Python3 в Sublime, и следующий код перестает работать:
for directory in directoryList:
fileList = os.listdir(directory)
for filename in fileList:
filename = os.path.join(directory, filename)
currentFile = open(filename, 'rt')
for line in currentFile: ##Here comes the exception.
currentLine = line.split(' ')
for word in currentLine:
if word.lower() not in bigBagOfWords:
bigBagOfWords.append(word.lower())
currentFile.close()
Я получаю следующее исключение:
File "/Users/Kuba/Desktop/DictionaryCreator.py", line 11, in <module>
for line in currentFile:
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 0xcc in position 305: ordinal not in range(128)
Я нашел это довольно странным, потому что, насколько я знаю, Python3 должен поддерживать utf-8 всюду. Что еще, тот же самый точный код работает без проблем на Python2.7. Я читал о добавлении переменной окружения PYTHONIOENCODING
, но я попробовал - безрезультатно (однако, похоже, не так просто добавить переменную окружения в OS X Mavericks, так что, возможно, я сделал что-то не так с добавлением переменной? я modidified/etc/launchd.conf)