Python - 生成指定大小的文件
项目测试过程中需要上传不同大小的文件,一时难以找到这么多测试数据,网上查了下,可以使用Python来快速生成,方法如下
方法1:
使用特定大小的文本重复生成,指定一个文本字符串text,然后将其重复复制直至达到所需的文件大小。
def generate_file(file_path, file_size_bytes): text = "Women only affect the speed at which I type Pythong code." # 要重复的文本 text_size_bytes = len(text.encode('utf-8')) # 每个重复的文本的大小(以字节为单位) repetitions = file_size_bytes // text_size_bytes # 需要重复的次数 remainder = file_size_bytes % text_size_bytes # 剩余的字节数 with open(file_path, 'w') as file: for _ in range(repetitions): file.write(text) if remainder > 0: file.write(text[:remainder]) print("生成完成") if __name__ == '__main__': # 生成一个大小为10MB的PDF文件 generate_file('E:\\file_size.txt', 1024 * 1024 * 20)
方法2:
使用特定大小的随机数生成,使用随机数生成器生成特定大小的字节,并将其写入文件中。
import os
# function: 使用随机数生成器生成特定大小的字节
def generate_file_1(file_path, file_size_bytes): with open(file_path, 'wb') as file: file.write(os.urandom(file_size_bytes)) print("生成完成") if __name__ == '__main__': # 生成一个大小为10MB的PDF文件 generate_file_1('E:\\file_size.pdf', 1024 * 1024 * 10)
方法3:
def generate_file_2(file_path,n,data_type): ''' :param file_path: 文件路径 :param n: 大小 :param data_type: 文件类型 :return: ''' file_name=file_path+data_type bigFile=open(file_name,'w') bigFile.seek(1024 * 1024 * 1024 * n) bigFile.write('test') bigFile.close() if __name__ == '__main__': # 生成一个大小为300M的MP4文件 generate_file_2('E:\\file_size',float(0.3),'.mp4')
作者:小林同学_Scorpio
本博客所有文章仅用于学习、分享和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数,做笔记。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用参考、引用、抄袭、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个无耻的文档搬运工!
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?