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