经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python生成指定大小的文件
来源:cnblogs  作者:测试蔡坨坨  时间:2023/6/12 10:28:38  对本文有异议

转载请注明出处??

作者:测试蔡坨坨

原文链接:caituotuo.top/400bd75c.html


你好,我是测试蔡坨坨。

在日常测试工作中,我们经常需要对上传的文件大小进行测试,例如:一个文件上传功能,限制文件大小最大为10MB,此时我们可能需要测试10MB以及其边界值9MB和11MB;再或者我们有时需要测试一个超大文件,进行大文件的测试。

针对以上情况,可能一时难以找到符合准确数据的测试文件,这时就可以使用Python来帮助我们生成任意大小的文件,这里提供两种解决方案。

方法1:

使用特定大小的文本重复生成,指定一个文本字符串text,然后将其重复复制直至达到所需的文件大小。

  1. # author: 测试蔡坨坨
  2. # datetime: 2023/6/8 1:31
  3. # function: 使用特定大小的文本生成指定大小的文件
  4. def generate_file(file_path, file_size_bytes):
  5. text = "This is some sample text by caituotuo." # 要重复的文本
  6. text_size_bytes = len(text.encode('utf-8')) # 每个重复的文本的大小(以字节为单位)
  7. repetitions = file_size_bytes // text_size_bytes # 需要重复的次数
  8. remainder = file_size_bytes % text_size_bytes # 剩余的字节数
  9. with open(file_path, 'w') as file:
  10. for _ in range(repetitions):
  11. file.write(text)
  12. if remainder > 0:
  13. file.write(text[:remainder])
  14. if __name__ == '__main__':
  15. # 生成一个大小为10MB的PDF文件
  16. generate_file('caituotuo.pdf', 1024 * 1024 * 10)

方法2:

使用特定大小的随机数生成,使用随机数生成器生成特定大小的字节,并将其写入文件中。

  1. # author: 测试蔡坨坨
  2. # datetime: 2023/6/8 2:31
  3. # function: 使用特定大小的随机数生成文件
  4. import os
  5. def generate_file(file_path, file_size_bytes):
  6. with open(file_path, 'wb') as file:
  7. file.write(os.urandom(file_size_bytes))
  8. if __name__ == '__main__':
  9. # 生成一个大小为1MB的随机数据文件
  10. generate_file('caituotuo.docx', 1024 * 1024)

原文链接:https://www.cnblogs.com/caituotuo/p/17473734.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号