我无法理解这两个 BytesIO 对象的区别。如果我这样做:
f = open('decoder/logs/testfile.txt', 'rb')
file = io.BytesIO(f.read())
decode(file,0)
Run Code Online (Sandbox Code Playgroud)
然后在解码方法中这有效:
for line in islice(file, lines, None):
Run Code Online (Sandbox Code Playgroud)
但是如果我像这样创建 BytesIO :
file = io.BytesIO()
file.write(b"Some codded message")
decode(file, 0)
Run Code Online (Sandbox Code Playgroud)
然后解码方法中的循环不返回任何内容。我的理解是 BytesIO 应该充当类似文件的对象,但存储在内存中。那么为什么当我尝试仅传递一行文件时,此循环不会返回任何内容,就像文件中没有行一样?