【发布时间】:2018-12-01 21:52:02
【问题描述】:
我无法理解这两个 BytesIO 对象的区别。 如果我这样做:
f = open('decoder/logs/testfile.txt', 'rb')
file = io.BytesIO(f.read())
decode(file,0)
然后在解码方法中这有效:
for line in islice(file, lines, None):
但如果我像这样创建 BytesIO:
file = io.BytesIO()
file.write(b"Some codded message")
decode(file, 0)
然后在 decode 方法中循环不返回任何内容。 我的理解是 BytesIO 应该像对象一样充当文件,但存储在内存中。那么为什么当我尝试只传递一行文件时,这个循环不会像文件中没有行一样返回任何内容?
【问题讨论】: