我正在編寫一個程序來迭代我的Robocopy-Log(> 25 MB)。目前還沒有準備好,因爲我遇到了問題。Python3:爲什麼我得到一個UnicodeDecodeError或這是一個內存問題?
的問題是,迭代〜後1700線我的日誌 - >我得到一個 「UnicodeError」:
Traceback (most recent call last):
File "C:/Users/xxxxxx.xxxxxx/SkyDrive/#Python/del_robo2.py", line 6, in <module>
for line in data:
File "C:\Python33\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 7869: character maps to <undefined>
程序如下所示:
x="Error"
y=1
arry = []
data = open("Ausstellungen.txt",mode="r")
for line in data:
arry = line.split("\t")
print(y)
y=y+1
if x in arry:
print("found")
print(line)
data.close()
如果我減少TXT文件到1000行然後該程序工作。 如果我刪除行1500到3000並再次運行,我再次得到1700行左右的Unicode錯誤。
所以,我犯了一個錯誤,或者這是一些Python的內存限制問題?
這是一個編碼問題,而不是內存問題。 – pynovice
你應該將'encoding'參數傳遞給'open'(如果你使用python3,在python2中使用'codecs.open')。 – Bakuriu