2013-09-22 2 views
-2

Частично моего кода ниже. Я хочу, чтобы экспортировать вывод терминала в текстовом файле, но я получаю ниже ошибки:Как написать мой терминал в текстовом файле с помощью python

UnicodeEncodeError Traceback (most recent call last) 
<ipython-input-2-c7d647fa741c> in <module>() 
    34  text_file = open("Output.txt", "w") 
    35 
---> 36  text_file.write(data) 
    37  #print (data) 
UnicodeEncodeError: 'ascii' codec can't encode characters in position 150-151: ordinal not in range(128) 

# data is multi line text 
data = ''.join(soup1.findAll('p', text=True)) 
text_file = open("Output.txt", "w") 
text_file.write(data) 
# print (data) 
+0

Добавить '# - * - encoding = utf-8 - * - 'в начало вашего скрипта. Вам также может потребоваться кодировать данные, которые вы пишете. – yuvi

+1

'# - * - encoding = utf-8 - * -' помогает, когда у вас есть Unicode в самом файле '.py' и не имеет ничего общего с чтением и записью данных Unicode от и до файлов. –

ответ

2

Кодировать текст, прежде чем писать в файл:

text_file.write(data.encode("utf-8")) 
+0

Спасибо Thomas Orozco .. – user2553088

+0

Если это сработало для вас, подумайте о принятии ответа, нажав зеленую галочку под партитурой. http://stackoverflow.com/help/someone-answers – darthbith

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