Bug*_*028 19 python file-io python-3.x
这是我自己的项目之一.这将有助于我正在玩的游戏中的其他人(AssaultCube).其目的是分解日志文件并使用户更容易阅读.
我一直都是这个问题.有人知道怎么修这个东西吗?目前,我不打算编写/创建文件.我只想修复这个错误.
触发错误的行是一个空行(它在第66346行停止).
这就是我的脚本的相关部分:
log = open('/Users/Owner/Desktop/Exodus Logs/DIRTYLOGS/serverlog_20130430_00.15.21.txt', 'r')
for line in log:
Run Code Online (Sandbox Code Playgroud)
例外是:
Traceback (most recent call last):
File "C:\Users\Owner\Desktop\Exodus Logs\Log File Translater.py", line 159, in <module>
main()
File "C:\Users\Owner\Desktop\Exodus Logs\Log File Translater.py", line 7, in main
for line in log:
File "C:\Python32\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 3074: character maps to <undefined>
Run Code Online (Sandbox Code Playgroud)
Rou*_* B. 33
尝试:
enc = 'utf-8'
log = open('/Users/Owner/Desktop/Exodus Logs/DIRTYLOGS/serverlog_20130430_00.15.21.txt', 'r', encoding=enc)
Run Code Online (Sandbox Code Playgroud)
如果它不起作用尝试:
enc = 'utf-16'
log = open('/Users/Owner/Desktop/Exodus Logs/DIRTYLOGS/serverlog_20130430_00.15.21.txt', 'r', encoding=enc)
Run Code Online (Sandbox Code Playgroud)
你也可以尝试一下
enc = 'iso-8859-15'
Run Code Online (Sandbox Code Playgroud)
也尝试:
enc = 'cp437'
Run Code Online (Sandbox Code Playgroud)
这是非常古老,但它也有0x81的"ü",适合我在攻击立方体的主页上找到的字符串"üßer".
如果所有的编码都是错误的,请尝试联系一些开发攻击立方体的人或者如评论中所述:看看https://pypi.python.org/pypi/chardet
| 归档时间: |
|
| 查看次数: |
18244 次 |
| 最近记录: |