0
读取已打开文件的第一个字节而不搞乱文件位置的最佳方法是什么?这是太多的跳来跳去:在Python中读取打开文件的第一个字节
current_position = f.tell()
f.seek(0)
b1 = f.read(1)
b2 = f.read(1)
f.seek(current_position, 0)
读取已打开文件的第一个字节而不搞乱文件位置的最佳方法是什么?这是太多的跳来跳去:在Python中读取打开文件的第一个字节
current_position = f.tell()
f.seek(0)
b1 = f.read(1)
b2 = f.read(1)
f.seek(current_position, 0)
你可以使用os.pread(fd, buffersize, offset)
但只在Python 3.3增加。像这样:
os.pread(f.fileno(), 2, 0)
读取文件开始处的2个字节。
另一种办法是复制的fd
,然后寻求在重复,然后关闭重复:
d = os.dup(f.fileno())
os.lseek(d, 0, 0)
b1 = os.read(d, 1)
b2 = os.read(d, 1)
os.close(d)
为什么不能文件对象直接复制?
你想达到什么目的?为什么不在第一次打开文件时存储前几个字节? – jonrsharpe
我看到这段代码没有错。 –
您所指的文件'位置'只是一个小型整数,其行为与书签相当。移动它并不是什么大事。 –