基於python實現生成指定大小txt文件
阿新 • • 發佈:2020-07-20
前言
在測試過程中經常遇到檔案上傳的功能,檔案的大小邊界值測試一直沒有好的解決辦法,這裡我分享一個建立檔案的指令碼希望對大家有幫助。
demo
""" * Create by dell on 2020/7/10 * Author :wencheng * 微信公眾 :自動化測試 To share """ # !/user/bin/env python # -*- coding:utf-8 -*- import os import time # 獲取username,如chinaren def getusername(): namelist = os.popen('echo %username%').readlines() username = namelist[0].replace("\n","") # 獲取當前的username return username # 獲取時間和日期 def getnowdatatime(flag=0): ''' flag = 0為時間和日期 eg:2018-04-11 10:04:55 flag = 1僅獲取日期 eg:2018-04-11 flag = 2僅獲取時間 eg:10:04:55 flag = 3純數字的日期和時間 eg:20180411100455 ''' now = time.localtime(time.time()) if flag == 0: return time.strftime('%Y-%m-%d %H:%M:%S',now) if flag == 1: return time.strftime('%Y-%m-%d',now) if flag == 2: return time.strftime('%H:%M:%S',now) if flag == 3: return time.strftime('%Y%m%d%H%M%S',now) # 生成指定大小的TXT檔 def generateTXTFile(): fileSize = 0 # 判斷輸入是否有誤 while True: size = input('請輸入你想生成的TXT檔案大小(MB):') if size.strip().isdigit() != True: print('只能輸入整數,請重新輸入!') continue else: fileSize = int(size) break if fileSize >= 200: print('正在生成TXT檔案,請稍候... ...') # 生成指定大小的TXT檔 filename = getnowdatatime(3) + '_' + size + 'MB.txt' print(f'檔名:{filename}') # 設定檔案儲存的路徑 filepath = 'C:\\Users\\' + getusername() + '\\Desktop\\' f = open(filepath + filename,'w') # 獲取開始時間 starttime = getnowdatatime() startclock = time.clock() for i in range(fileSize): if i >= 100: if i % 100 == 0: print(f'已生成{i//100 * 100}MB資料.') for j in range(1024): try: f.write('01' * 512) except KeyboardInterrupt: print('\n異常中斷:KeyboardInterrupt') f.close() exit(-1) f.close() print(f'檔案已成生並儲存在桌面,檔案大小:{fileSize}MB.\n') print(f'DetailInfo:') print(f'儲存路徑: {filepath + filename}') print(f'開始時間:{starttime}') print(f'結束時間:{getnowdatatime()}') print(f'總共耗時:{(time.clock() - startclock):<.3}sec.') if __name__ == '__main__': generateTXTFile()
建立1M檔案
建立100M檔案
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。