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

标签 python file testing

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

是否有一个 Python 模块可以让您创建任意大小的测试文件?我基本上是在寻找可以像这样工作的东西:

test_1mb_file = test_file_module.create_test_file(size=1048576)

最佳答案

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

with open('bigfile', 'wb') as bigfile:
    bigfile.seek(1048575)
    bigfile.write('0')

另一方面,您真的需要文件吗?许多 API 都采用任何“类文件对象”。并不总是很清楚这是否意味着 readreadseek、逐行迭代或其他……但无论它是什么,您都应该能够模拟一个 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

关于python - 是否有用于创建特定大小的测试文件的 Python 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13614774/

相关文章:

Python 覆盖率报告仅覆盖测试文件

python - 在 Python 中保存队列数据

java - java应用程序中的延迟处理

Java I/O 延迟在文件系统中创建文件

java - FileOutputStream 等待写入完成

angularjs - 测试中的 Angular 1.x 模拟依赖项

django - 使用 Django JWT token 进行 Ansible uri 调用

python - 是否可以检查出站 https 流量?

unit-testing - 如何在一个go包中运行多个测试文件

python - 自动对数组中的元素进行分类