繁体   English   中英

Python无法正确读取日志文件,除非我将其内容粘贴到新的文本文件中

[英]Python can't read log file correctly unless I paste its content in a new text file

我正在使用open()来读取日志文件,但是内容很奇怪。 如果我通过Notepad ++打开日志文件,请复制内容并将其粘贴到新文件中,另存为.txt文件,open()可以读取正确的内容。 代码是:

with open(a_file, 'r') as my_file:
    for line in my_file:
        line_number += 1
        if line_number == 1060 or line_number == 1061:
            print(line)

我尝试了很多方法:

  1. 处理日志文件并重定向到新的文本文件,没有帮助
  2. 在记事本++中打开日志文件,另存为...一个新的文本文件,没有帮助
  3. 使用linux tail命令,将输出重定向到新的文本文件,没有帮助
  4. 使用python编解码器将其读取为utf-8,发生错误“ python编解码器无法解码位置0的字节0xff:无效的起始字节”
  5. 在Notepad ++中打开日志文件,复制其内容,粘贴到新文件中,然后保存到新的文本文件中,即可正常工作。

您无法读取该文件,因为该文件以UTF-16编码,您可以通过第一个字符BOM来区分。 0xffUTF-16的BOM的一部分。 因此,在阅读时只需添加encoding='utf16' (或在python2 codecs.openutf16一起使用)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM