如何使用python中的空数据有效填充文件?

Dan*_*nge 5 python file

我需要创建任意大小的文件,不包含数据.可能非常大.虽然我可以循环并编写一个空字符,直到我达到文件大小,这似乎很难看.

with open(filename,'wb') as f:
   # what goes here?
Run Code Online (Sandbox Code Playgroud)

什么是高效,pythonic的方式来做到这一点?

Gre*_*ill 18

你可以寻找一个特定的位置并写一个字节,操作系统会神奇地使文件的其余部分出现.

with open(filename, "wb") as f:
    f.seek(999999)
    f.write("\0")
Run Code Online (Sandbox Code Playgroud)

您需要至少写一个字节才能生效.

  • 如果文件系统不支持稀疏文件,这仍然有效; 在这种情况下,操作系统将创建一个等效大小的非稀疏文件. (2认同)

Mar*_*ani 8

with open('zero', 'w') as f:
    f.seek(999999999)
    f.write('\0')
Run Code Online (Sandbox Code Playgroud)

如果操作系统支持,将创建一个稀疏文件.神奇的是,以这种方式创建的文件不会占用任何空间(直到您使用不保留孔的程序将其复制到其他位置)