首页 > 编程语言 >Python生成指定大小的文件

Python生成指定大小的文件

时间:2023-06-11 22:23:38浏览次数:46  
标签:__ 测试 Python text bytes 指定 生成 file size

转载请注明出处❤️

作者:测试蔡坨坨

原文链接: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,text,bytes,指定,生成,file,size
From: https://www.cnblogs.com/caituotuo/p/17473734.html

相关文章

  • Centos7python升级3.6升级到3.11.4
    1.下载安装包并上传到服务器https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz2.解压tar-zxfPython-3.11.4.tgz 3.升级升级依赖进入源码目录并编译安装3.1 安装依赖yumgroupinstall"Developmenttools"-yyuminstallzlib-develbzip2-developen......
  • 实验6 turtle绘图与python库应用编程体验
    task1-1源代码1fromturtleimport*23defmove(x,y):4'''画笔移动到坐标(x,y)处'''5penup()6goto(x,y)7pendown()89defdraw(n,size=100):10'''绘制边长为size的正n变形'''1......
  • Centos7安装python
    1.熟悉官网及安装pythonhttps://www.python.org/  安装python1. yum-builddeppython3-y安装依赖:yumgroupinstall"Developmenttools"-yyuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-devellibffi-devel-y......
  • Python判断字符串是否包含特定子串的7种方法(转)
    转自:Python判断字符串是否包含特定子串的7种方法在写代码的过程中,我们经常会遇到这样一个需求:判断字符串中是否包含某个关键词,也就是特定的子字符串。比如从一堆书籍名称中找出含有“python”的书名。判断两个字符串相等很简单,直接==就可以了。其实判断包含子串也非常容易,而且......
  • python编码decode和encode
                文章来源:https://www.cnblogs.com/skyflask/p/7622991.html ......
  • Python Django Restful API simple JWT
    在这种情况下,您可以创建一个自定义权限类,并检查用户所属的任何组是否具有相应的权限。例如,您可以在Django后台为每个组定义一个具有读取权限(`view`权限)的权限对象。然后,在自定义权限类中检查用户组是否具有此权限。首先,在`models.py`文件中创建一个新的权限。例如,创建一个名......
  • 关于python程序打包的问题-找不到fsspec
    转载自:https://blog.csdn.net/weixin_47861710/article/details/121267155这个问题困扰了我将近两天的时间一直找不到什么好的办法,甚至打算放弃。主要原因是身边没有可以述说的人,也没有可以请教的人。正在想要放弃的时候找到了解决办法。打包后运行程序是这样的,大概意思是找不......
  • 实验6 turtle绘图与Python库应用编程体验
    task1-1.py实验源码:fromturtleimport*defmove(x,y):penup()goto(x,y)pendown()defdraw(n,size=100):foriinrange(n):fd(size)left(360/n)defmain():pensize(2)pencolor('red')move(-200,0)......
  • mac 搭建python开发环境
    导读:       1.先安装brew        ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"       2.用brew安装wget     brewinstallwget      3.用wget下载pip.py     wgethttps://bo......
  • python定时任务
      无论哪种编程语言,时间肯定都是非常重要的部分,今天来看一下python如何来处理时间和python定时任务,注意咯:本篇所讲是python3版本的实现,在python2版本中的实现略有不同,有时间会再写一篇以便大家区分。1.计算明天和昨天的日期#!/usr/bin/envpython#coding=utf-8#获取今天、......