在Python上读取文件时,我得到了UnicodeDecodeError.我该怎么做才能解决这个问题



这是我自己的一个项目。这将在我所玩的游戏(《assault - cube》)中帮助其他人。它的目的是分解日志文件,使用户更容易阅读。

我一直得到这个问题。有人知道怎么解决这个问题吗?目前,我不打算写/创建文件。我只是希望这个错误被修复。

触发错误的行是一个空行(它在第66346行停止)。

这是我脚本的相关部分:

log  =  open('/Users/Owner/Desktop/Exodus Logs/DIRTYLOGS/serverlog_20130430_00.15.21.txt', 'r')
for line in log:

,例外是:

Traceback (most recent call last):
  File "C:UsersOwnerDesktopExodus LogsLog File Translater.py", line 159, in <module>
    main()
 File "C:UsersOwnerDesktopExodus LogsLog File Translater.py", line 7, in main
    for line in log:
  File "C:Python32libencodingscp1252.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 3074: character maps to <undefined>

尝试:

enc = 'utf-8'
log = open('/Users/Owner/Desktop/Exodus Logs/DIRTYLOGS/serverlog_20130430_00.15.21.txt', 'r', encoding=enc)

如果不行,试试:

enc = 'utf-16'
log = open('/Users/Owner/Desktop/Exodus Logs/DIRTYLOGS/serverlog_20130430_00.15.21.txt', 'r', encoding=enc)

你也可以试试

enc = 'iso-8859-15'

也试一试:

enc = 'cp437'

这是非常古老的,但它也有"ü"在0x81,这将适合字符串" ßer",我在突击立方体的主页上找到。

如果所有的编码都是错误的,试着联系一些开发突击立方体的家伙,或者在评论中提到:看看https://pypi.python.org/pypi/chardet

相关内容

最新更新