python生成指定大小的txt文檔(MB)


前言

在測試過程中經常遇到文件上傳的功能,文件的大小邊界值測試一直沒有好的解決辦法,這里我分享一個創建文件的腳本希望對大家有幫助。

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文件

 

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家的支持。

更多文章關注小編公眾號:自動化測試 To share


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM