是否有用于创建特定大小的测试文件的Python模块?

sea*_*ose 2 python testing file

我有一个上传文件的服务器.我需要将各种文件大小的上传/响应时间分析到该服务器,即上传10kb文件,100mb文件和许多其他大小所需的时间.我想避免手动创建所有文件并存储它们.

是否有Python模块可以让您创建任意大小的测试文件?我基本上正在寻找一些可行的方法:

test_1mb_file = test_file_module.create_test_file(size=1048576)
Run Code Online (Sandbox Code Playgroud)

aba*_*ert 12

你真的不需要写1MB来创建一个1MB的文件:

with open('bigfile', 'wb') as bigfile:
    bigfile.seek(1048575)
    bigfile.write('0')
Run Code Online (Sandbox Code Playgroud)

另一方面,你真的需要一个档案吗?许多API采用任何"类文件对象".这并不总是清楚这是否意味着read,readseek由线条,还是其他什么东西迭代......但不管是什么,你应该能够模拟1MB的文件,而无需创建多单的数据readreadline在同一时间.

PS,如果你实际上没有从Python发送文件,只是创建它们以便以后使用,有些工具是专门为这种事情设计的:

dd bs=1024 seek=1024 count=0 if=/dev/null of=bigfile # 1MB uninitialized
dd bs=1024 count=1024 if=/dev/zero of=bigfile # 1MB of zeroes
dd bs=1024 count=1024 if=/dev/random of=bigfile # 1MB of random data
Run Code Online (Sandbox Code Playgroud)

  • 在 python 3.6 中你需要使用 bigfile.write(b'0') 因为它需要一个字节对象来写入字节流 (2认同)