5
我需要创建不包含数据的任意大小的文件。这可能相当大。虽然我可以循环并写入一个空字符,直到达到文件大小,这看起来很难看。如何高效地填充python中的空数据文件?
with open(filename,'wb') as f:
# what goes here?
什么是有效的,pythonic的方式来做到这一点?
我需要创建不包含数据的任意大小的文件。这可能相当大。虽然我可以循环并写入一个空字符,直到达到文件大小,这看起来很难看。如何高效地填充python中的空数据文件?
with open(filename,'wb') as f:
# what goes here?
什么是有效的,pythonic的方式来做到这一点?
您可以寻找一个特定的位置并写入一个字节,操作系统会奇迹般地让文件的其余部分出现。
with open(filename, "wb") as f:
f.seek(999999)
f.write("\0")
您需要编写至少一个字节才能工作。
with open('zero', 'w') as f:
f.seek(999999999)
f.write('\0')
如果操作系统支持它,将创建一个sparse file。神奇的是,这种方式创建的文件不占用任何空间(直到你将它复制到其他地方的程序不保留漏洞)
而文件系统需要支持稀疏文件 – 2010-07-31 11:58:32
如果文件系统不支持稀疏文件;在这种情况下,操作系统将创建一个等效大小的非稀疏文件。 – 2010-07-31 12:02:07
是的,当然,我出于某种原因想象了一个稀疏文件:) – 2010-07-31 12:05:05