Python在readline操作期间保留embedded/n

2024-10-03 13:26:57 发布

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

我继承了一个项目,我对Python完全陌生。我需要做的是从二进制文件中读取记录。我需要读取每个字节以放入bytearray进行处理。输入记录可以嵌入/n或任何其他二进制值。程序当前读取文件,直到它到达/n并停止读取。 所以一个有36个字节的记录会在第4位找到第一个/n,然后停止读取。 我需要能够读取/n以在程序中进行处理。如何让它读取所有字节

以下是当前文件读取行:

lcounter = 0
fline = open(inputFileName, 'rb')
    while True:
        DataRead = fline.readline().rstrip() # I don't want the last /n in each record
        if lcounter == 0:
           processLineOne()
        else:
           if lcounter == 1:
                aryDataRead = [DataRead]
           elif lcounter == 2:
                aryDataRead.append(DataRead)
            elif lcounter == 3:
                aryDataRead.append(DataRead)
                fline.close()
                break
        lcounter += 1
 ProcessDataRead()

记录3有36个字节,但只将3放入数组中,因为字节4是\n。如何保持\n?谢谢


Tags: 文件项目程序if字节记录二进制elif
1条回答
网友
1楼 · 发布于 2024-10-03 13:26:57

好吧,我想出来了。 此代码读取文件中的所有字节 然后我可以做我需要做的处理

fline = open(inputFileName, 'rb') 
low_bit_list = [byte for byte in bytearray(fline.read())]
print("low_bit_list", low_bit_list) 

低位列表[178,53,203,10,55,48,48,13,10]

注意,我确实得到了/n(10)字节之后的其余记录

谢谢你的建议

相关问题 更多 >