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

时间:2017-12-17 23:52:51

标签: python arrays

我继承了一个项目,我是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?感谢

1 个答案:

答案 0 :(得分:0)

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

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

low_bit_list [178,53,203, 10 ,55,48,48,13,10]

注意我在/ n(10)字节之后得到了记录的其余部分

感谢所有建议。