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