我可以读取二进制文件的第一个字节,如下所示:
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的模块,它允许我读取多个二进制文件的字节/字符而不是行?
编辑:读取二进制文件的一行并循环它不是一个选项,因为二进制文件很大并且不包含换行符。
答案 0 :(得分: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)