2017-08-24 31 views
0

我有這樣一段代碼在python:蟒蛇寫文本數據的文本文件

def write_to_log_file(text): 
    with open ("C:\Users\Administrator\Desktop\log.txt",mode='w') as file: 
     file.write(text) 
然而

當我運行這段代碼我收到以下錯誤:

line 13, in write_to_log_file 
    file.write(text) 
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 126: ordinal not in range(128) 
+0

試着將你的unicode字符串編碼爲ascii:'unicodeData.encode('ascii','ignore')' – Mandy8055

+0

請顯示一些t他發短信說你正在寫作。特別是,現在文本的格式是什麼。我希望你的文本是unicode,因此需要區別對待。 –

+0

請檢查'open'函數上的[documentation](https://docs.python.org/3/library/functions.html#open),並考慮到您收到的錯誤消息,進行有根據的猜測,你需要傳遞給'open'的參數。 – ForceBru

回答

2

Reference

def write_to_log_file(text): 
    with open ("C:\Users\Administrator\Desktop\log.txt",mode='w') as file: 
     file.write(text.encode('utf8')) 
+0

謝謝你解決了這個問題! – ErezN

+1

或者只是打開(「文件」,「W」,編碼=「UTF8」)'。 – ForceBru

+0

@ErezN我很高興我幫你。請將此答案標記爲已接受的答案。 – xtonousou