使用Python的fileinput模块读取多个二进制文件的单字节
我可以这样读取一个二进制文件的第一个字节:
with open(my_binary_file,'rb') as f:
f.read(1)
但是我该如何使用fileinput模块来做到这一点呢?如果我运行以下代码:
import fileinput
with fileinput.FileInput(my_binary_file,'rb') as f:
f.read(1)
我就会收到这个错误:
AttributeError: 'FileInput' object has no attribute 'read'
有没有类似于fileinput的模块,可以让我读取多个二进制文件的字节或字符,而不是逐行读取呢?
补充说明:逐行读取二进制文件并循环处理是不行的,因为这个二进制文件很大,而且里面没有换行符。
1 个回答
2
这不是我最开始想要的解决办法,但这是我最终得到的结果:
def process_binary_files(list_of_binary_files):
for file in list_of_binary_files:
with open(file,'rb') as f:
yield f.read(1)
return
list_of_binary_files = ['f1', 'f2']
generate_byte = process_binary_files(list_of_binary_files)
byte = next(generate_byte)