Pau*_*aul 8 python filesystems file windows-7
可能重复:
在Windows系统上快速创建大文件?
出于测试目的,我希望能够创建和删除非常大的文件(几个GB).我没有必要写任何特定于他们的东西.它们可能是随机数据.有没有办法通过简单地分配磁盘上的空间来生成一个大文件?如果没有,写这样一个文件的最快方法是什么?要在几秒钟内创建文件是可取的.
我需要在Python脚本中执行此操作,并且在Windows 7上执行此操作.
Lau*_*low 22
这应该适用于ntfs文件系统,因为它们支持稀疏文件.这几乎是瞬间完成的.
with open("file.to.create", "w") as file:
file.truncate(10 ** 10)
Run Code Online (Sandbox Code Playgroud)
该文件显然将填充\ x00字节,但实际上这些文件只是在您从文件中读取时根据需要创建的.它几乎没有使用任何磁盘空间(虽然它看起来从一开始就使用全部10 GB - 我发现没有简单的方法来检查Windows中的实际文件大小),并且当你写入时分配所需的块来增长它.AFAIK很可能创建一个比它所驻留的磁盘大得多的稀疏文件,尽管这可能会在以后导致麻烦.:)
注意:如果您复制稀疏文件,它可能会在此过程中扩展为非稀疏文件(读取"假"\ x00字节,写入real\x00字节).这是因为它看起来就像一个普通的10 GB文件,带有空字节以便"向后兼容" - 必须执行单独的检查以将其显示为稀疏文件.要成功复制稀疏文件并将其保留为稀疏文件,必须满足两个条件:
例如,USB拇指驱动器/笔通常与格式默认情况下,旧的FAT文件系统,它不支持稀疏文件.从测试开始,Windows XP的资源管理器在复制时不会保留稀疏文件.这个提示表明Robocopy可以胜任这项工作,但我还没有测试过.