我目前對我的python 3代碼有問題。Python:UnicodeDecodeError:'ascii'編解碼器無法解碼位置0的字節0xef:序號不在範圍內(128)
replace_line('Products.txt', line, tenminus_str)
是我想轉成UTF-8行,但是當我嘗試像我會跟別人,我得到的錯誤要做到這一點,如無屬性的人,當我嘗試添加,爲例如...
.decode("utf8")
...到它的結尾,我仍然得到它使用ascii的錯誤。我還嘗試了其他方法,如添加io等其他方法。盈方和添加具有
encoding = 'utf8'
一個逗號,我使用replace_line的功能:
def replace_line(file_name, line_num, text):
lines = open(file_name, 'r').readlines()
lines[line_num] = text
out = open(file_name, 'w')
out.writelines(lines)
out.close()
我將如何解決這個問題?請注意,我對Python非常陌生,不夠先進,無法很好地進行調試。
編輯:不同修復這個問題不是「重複」
編輯2:我有另一個錯誤與現在的功能。
File "FILELOCATION", line 45, in refill replace_line('Products.txt', str(line), tenminus_str)
File "FILELOCATION", line 6, in replace_line lines[line_num] = text
TypeError: list indices must be integers, not str
這是什麼意思,我該如何解決?
向我們展示您的stracktrace,向我們顯示您的數據 – Falmarri
這是什麼意思? –
使用utf_8_sig,而不是utf8,你的文件可能以bom開頭 – YOU