繁体   English   中英

Python 读取线读取不正确\n

[英]Python readline reading incorrect \n

我正在尝试处理一堆文件; 我的测试集是 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)

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

 ...x19\x01\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x19\x01\x00\x00\n

但是在十六进制编辑器中查看文件时,position 中只有 0A; 我如何强制它只查找 windows 行尾; 0D 0A? 添加 newline='\r\n' 不起作用。

好吧,很明显我现在感觉很愚蠢; 我的问题是我使用的是 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 个字节。 从那里获取我的数据。 即使我得到一些非常长的名称,它们也应该很容易适应读取的字节。

暂无
暂无

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

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