【发布时间】:2014-05-29 21:52:06
【问题描述】:
例如:
bedpath = "/tmp/bedtest"
with open(bedpath, "rb") as fh1, open(bedpath, "rb") as fh2:
fh1.seek(3)
fh2.seek(5)
for i in range(3):
b1 = fh1.read(1)
b2 = fh2.read(1)
# do something with b1 and b2
如果不是,为什么?
【问题讨论】:
-
您可以在一个文件上打开多个文件句柄,是的。考虑到一个对象上的读取缓冲区可能看不到通过另一个对象写入的更改。
-
这并不比使用任何其他语言更好或更差。它有点不优雅,并且会消耗少量额外的内核资源,但如果它能让您的问题更容易解决,这是完全可以接受的。