我正在尝试将字节X中的信息从大型数据文件复制并粘贴到新文件中。我使用f.readline()和f.tell()获得了X和Y.有没有更快的方法来执行此操作,然后使用下面的代码。
import os
a = 300 # Beginning Byte Location
b = 208000 # Ending Byte Location
def file_split(x,y):
g = open('C:/small_file.dat', 'wb')
with open('C:/huge_data_file.dat', 'rb') as f:
f.seek(x, os.SEEK_SET) # Sets file pointer to x
line = '-1'
while (line != '') # line = '' would indicate EOF
while (f.tell() < y):
g.write(f.read(1))
g.close()
file_split(a,b)
答案 0 :(得分:0)
您可以从比1个字节更大的块大小开始?如果它永远不会是兆字节的数据,那么只需要g.write(f.read(b-a))就可以完成,不需要循环。如果它将是兆字节,您可能希望逐块执行,确保最后一个块更短,不超过b。