首页 > 技术文章 > 用python生成你想要的任意大小文件

yetangjian 2021-12-11 20:29 原文

在测试的日常工作中,我们经常会需要测试上传文件的边界值。今天分享一段30行的简单代码,可以生成任意大小的文件,方便测试。

file_size=input("请输入想要生成文件的大小:(单位MB)")
class MakeDir:
    def __init__(self):
        self.file_path="D:/dir_ytj/"
        self.file_name="文件大小"+file_size+"MB"
        new_file_size = file_size.strip()
        file_size_list = new_file_size.split(".")
        self.file_size_list = file_size_list
    def fileSize_making(self):
        #输入的文件大小去除首尾空格后切割,如果列表中只有一个数字说明是整数,否则就是小数
        if len(self.file_size_list) == 1:
            self.int_size_mb()
            print("文件大小{}MB,已存入地址{}".format(file_size,self.file_path))
        else:
            self.int_size_mb()
            self.float_size_mb()
            print("文件大小{}MB,已存入地址{}".format(file_size,self.file_path))
    def int_size_mb(self):
        #整数部分用写入文件w方式
        with open(self.file_path+self.file_name,"w") as file:
            #b-kb-mb文件大小转化
            for i in range(int(self.file_size_list[0])):
                for j in range(1024):
                    file.write("01"*512)
    def float_size_mb(self):
        #小数部分用追加写入a方法
        with open(self.file_path+self.file_name,"a") as file:
            #获取小数(单位mb)
            float_size_mb=float(file_size)-int(self.file_size_list[0])
            for i in range(1024):
                file.write("1"*int(1024*float_size_mb))
#调用生成文件
MakeDir().fileSize_making()

 

推荐阅读