Python 读取行读取不正确



我正在尝试处理一堆文件;我的测试集是50个文件;其中47个文件工作正常,但其中3个文件有一个奇怪的问题。一旦这工作,我就可以处理其他几千个文件。

我正在尝试创建一组更有用的文件;默认情况下,文件根据创建时间用数字命名;"漂亮"名称在第一行;它被一堆十六进制包围起来,这对我的目的来说是无用的;名称的开头总是在0x80,名称末尾后面的字符总是0x00

with open(i, 'rb') as f:
firstline = f.readline()
#print(str(firstline))
posBegin=128
posEnd=firstline.find(hexNameEnd.encode(),posBegin + 1)

在其中一个文件中; 打印第一行给;

...x19x01x00x00x01x00x00x00x04x00x00x00x19x01x00x00n

但是在十六进制编辑器中查看文件显示在此位置仅显示 0A;如何强制它仅查找窗口行结尾; 0D 0A?添加换行符='\r' 不起作用。

好吧,很明显我现在感到愚蠢;我的问题是我使用的是 readline(( 而不是 read((

with open(i, 'rb') as f:
firstline = f.read(200)
#print(str(firstline))
posBegin=128
posEnd=firstline.find(hexNameEnd.encode(),posBegin + 1)

由于名称始终在0x80;并且名称永远不会超过大约 30 个字符;我只需要读取前 200 个字节。从那里获取我的数据。即使我得到一些非常长的名称,它们也应该很容易适合读取字节。

最新更新