Python教程

用python生成你想要的任意大小文件

本文主要是介绍用python生成你想要的任意大小文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在测试的日常工作中,我们经常会需要测试上传文件的边界值。今天分享一段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()

 

这篇关于用python生成你想要的任意大小文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!