Python生成指定大小的文件
转载请注明出处️
作者:测试蔡坨坨
原文链接:caituotuo.top/400bd75c.html
你好,我是测试蔡坨坨。
在日常测试工作中,我们经常需要对上传的文件大小进行测试,例如:一个文件上传功能,限制文件大小最大为10MB,此时我们可能需要测试10MB以及其边界值9MB和11MB;再或者我们有时需要测试一个超大文件,进行大文件的测试。
针对以上情况,可能一时难以找到符合准确数据的测试文件,这时就可以使用Python来帮助我们生成任意大小的文件,这里提供两种解决方案。
方法1:
使用特定大小的文本重复生成,指定一个文本字符串text,然后将其重复复制直至达到所需的文件大小。
# author: 测试蔡坨坨
# datetime: 2023/6/8 1:31
# function: 使用特定大小的文本生成指定大小的文件
def generate_file(file_path, file_size_bytes):
text = "This is some sample text by caituotuo." # 要重复的文本
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])
if __name__ == '__main__':
# 生成一个大小为10MB的PDF文件
generate_file('caituotuo.pdf', 1024 * 1024 * 10)
方法2:
使用特定大小的随机数生成,使用随机数生成器生成特定大小的字节,并将其写入文件中。
# author: 测试蔡坨坨
# datetime: 2023/6/8 2:31
# function: 使用特定大小的随机数生成文件
import os
def generate_file(file_path, file_size_bytes):
with open(file_path, 'wb') as file:
file.write(os.urandom(file_size_bytes))
if __name__ == '__main__':
# 生成一个大小为1MB的随机数据文件
generate_file('caituotuo.docx', 1024 * 1024)
Python生成指定大小的文件的更多相关文章
- linux生成指定大小的文件(转)
# dd if=/dev/zero of=50M.file bs=1M count=50在当前目录下生成一个50M的文件 虚拟块设备文件更通用的名称是硬盘镜像文件(Hard Disk Image),但 ...
- linux和window下生成任意大小的文件
在Windows环境下的实现方法 使用fsutil命令,在windows xp和win 7下应该都自带了这个命令.命令的格式是 fsutil file createnew 新文件名 文件大小.例如 ...
- Windows下创建指定大小的文件
前言 因为需要测试存储容量,所以需要能生成指定大小的文件. 执行 #语法:fsutil file createnew 路径和文件名 文件大小 fsutil file createnew D:\test ...
- dd 生成指定大小文件
d命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中 ...
- 【Linux】生成任意大小的文件
有时候,我们需要生成指定大小的随机文件,比如在学习过程中使用的测试文件. 命令: Linux:/qinys # dd if=/dev/zero of=tmp.data bs=500k count=1 ...
- Linux下面自动清理超过指定大小的文件
Linux下面自动清理超过指定大小的文件 思路:1)查找test目录下的所有的文件2)判断是否大于100M3)大于100M则清空 以byte为单位显示文件大小,然后和100M大小做对比. 100M换算 ...
- Linux下删除空文件,删除指定大小的文件
Linux下批量删除空文件(大小等于0的文件)的方法: find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还可以删除指 ...
- PHP 生成指定大小随机图片
PHP 生成指定大小随机图片 <?php $image_width = 100; $image_height = 100; $image_str = ''; if (isset($_GET['w ...
- php使用curl下载指定大小的文件
php中使用基于libcurl的curl函数,可以对目标url发起http请求并获取返回的响应内容.通常的请求方式类似如下的代码: public function callFunction($url, ...
- Java、Linux、Win 快速生成指定大小的空文件
Linux dd 命令: dd if=/dev/zero of=<fileName> bs=<一次复制的大小> count=<复制的次数> 生成 50 MB 的空文 ...
随机推荐
- Redis - 对象结构
简介 Redis 使用对象存储数据库中的键和值,每当在 Redis 中创建一个新的键值对时,都会创建两个对象:一个是键对象,另一个是值对象. 其中,Redis 的每种对象都由对象结构和对应编码的数据结 ...
- Hugging Face 社区中蓬勃发展的计算机视觉
在 Hugging Face 上,我们为与社区一起推动人工智能领域的民主化而感到自豪.作为这个使命的一部分,我们从去年开始专注于计算机视觉.开始只是 Transformers 中 Vision Tra ...
- 机器学习基础07DAY
分类算法之决策树 决策树是一种基本的分类方法,当然也可以用于回归.我们一般只讨论用于分类的决策树.决策树模型呈树形结构.在分类问题中,表示基于特征对实例进行分类的过程,它可以认为是if-then规则的 ...
- react webpack自定义配置
在react当中,webpack的配置是被隐藏了的,如果想要配置webpack,有两种方法: 一.暴露出webpack的配置文件(不推荐) 执行 npm run eject 二.使用craco添加配置 ...
- 提供一款局域网聊天小工具,对接了chatGPT3.5
账号.密码随便填,只要自己能记住就可以,网络地址如效果图(本机IP地址+8080端口),效果图如下 服务地址用本机IP,端口可以随便用一个,如8888,填完记得点击按钮开启: 通讯地址如果你有其他人的 ...
- Linux服务器MySQL操作总结
目录 1. Navicat连接服务器MySQL 2. 如何查看MySQL用户名和密码 3. 修改MySQL的登录密码 4. 安装MySQL开发包(Centos7版) 错误:error 1045 (28 ...
- [Linux]常用命令之【hostname】
1: 个人的片面理解: hostname是主机名(的"昵称"),而非域名.一般设置hostname,来标识当前机器的主要用途.以区别与其它机器 2: hostname的严格定义: ...
- 基于sanic和爬虫创建的代理ip池
搭建免费的代理ip池 需要解决的问题: 使用什么方式存储ip 文件存储 缺点: 打开文件修改文件操作较麻烦 mysql 缺点: 查询速度较慢 mongodb 缺点: 查询速度较慢. 没有查重功能 re ...
- 关于windows11 开启关闭管理员账户
如何在Windows 11上启用或禁用管理员帐户 当 PowerShell 启动时,键入以下命令并按Enter: net user administrator /active:yes 在 Window ...
- Xxl-job安装部署以及SpringBoot集成Xxl-job使用
1.安装Xxl-job: 可以使用docker拉取镜像部署和源码编译两种方式,这里选择源码编译安装. 代码拉取地址: https://github.com/xuxueli/xxl-job/tree/2 ...