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

2024-04-23 14:32:04 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: 文件代码txtnumber内容字节粘贴my
1条回答
网友
1楼 · 发布于 2024-04-23 14:32:04

您无法读取该文件,因为它是用UTF-16编码的,您可以通过BOM的第一个字符来判断。0xffUTF-16的BOM的一部分。所以在阅读的时候只要加上encoding='utf16'(或者在python2中用codecs.openutf16

相关问题 更多 >