使用 Python 模块 fileinput 读取多个二进制文件的各个字节

tom*_*sen 5 python file-io binaryfiles python-3.x

我可以像这样读取二进制文件的第一个字节:

with open(my_binary_file,'rb') as f:
    f.read(1)
Run Code Online (Sandbox Code Playgroud)

但是我该如何使用 fileinput 模块来做到这一点呢?如果我运行这段代码:

import fileinput
with fileinput.FileInput(my_binary_file,'rb') as f:
    f.read(1)
Run Code Online (Sandbox Code Playgroud)

然后我得到这个错误:

AttributeError: 'FileInput' object has no attribute 'read'
Run Code Online (Sandbox Code Playgroud)

是否有类似于 fileinput 的模块,它允许我读取多个二进制文件的字节/字符而不是行?

编辑:读取二进制文件的一行并循环它不是一个选项,因为二进制文件很大并且不包含换行符。

tom*_*sen 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)
Run Code Online (Sandbox Code Playgroud)