【发布时间】:2015-09-24 02:02:24
【问题描述】:
我有一堆已损坏的 XML 文件。其中仍然有一些未损坏的数据。这是我正在谈论的图片:
我想用python遍历每个文件并抓取未损坏的数据,但是当我用python打开文件时:
i2 = open(x + '/' + i, 'r')
它会打开文件,但当我尝试通读它时,它又告诉我说只有这个是从文件中读取的:
'\xa8\x9f\xb0\xdb\x17\xa1\t&}4U\xccsr\xcfN\x7fS\xa1C\xb5\xa4\xd6a\x84i'
我尝试了几种不同的编码,但它总是返回错误:
i2 = open(x + '/' + i, 'r', encoding='utf8')
i2 = open(x + '/' + i, 'r', encoding='ANSI')
如果您知道 Python 为何无法正确读取此文件,请告诉我。
【问题讨论】:
-
Python 应该如何知道文件的哪一部分已损坏,哪部分未损坏?它只看到随机字节。
-
您可以试试
strings(1)程序。如果您确实使用python,请以rb模式打开它并使用bytes而不是使用编码。 -
在我的屏幕截图中间有大约 10 行包含日期和记录特定信息的行。我知道我希望 python 在每一行中找到的键。上面的键是 02/27/2009。如果那一行,那么我想保存它。
-
@o11c frig 知道了。伙计,我有时很愚蠢,将其添加为答案。