基于python實(shí)現(xiàn)生成指定大小txt文檔
前言
在測試過程中經(jīng)常遇到文件上傳的功能,文件的大小邊界值測試一直沒有好的解決辦法,這里我分享一個(gè)創(chuàng)建文件的腳本希望對大家有幫助。
demo
''' * Create by dell on 2020/7/10 * Author :wencheng * 微信公眾 :自動化測試 To share'''# !/user/bin/env python# -*- coding:utf-8 -*-import osimport time# 獲取username, 如chinarendef getusername(): namelist = os.popen(’echo %username%’).readlines() username = namelist[0].replace('n', '') # 獲取當(dāng)前的username return username# 獲取時(shí)間和日期def getnowdatatime(flag=0): ’’’ flag = 0為時(shí)間和日期 eg:2018-04-11 10:04:55 flag = 1僅獲取日期 eg:2018-04-11 flag = 2僅獲取時(shí)間 eg:10:04:55 flag = 3純數(shù)字的日期和時(shí)間 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(’只能輸入整數(shù),請重新輸入!’) continue else: fileSize = int(size) break if fileSize >= 200: print(’正在生成TXT文件,請稍候... ...’) # 生成指定大小的TXT檔 filename = getnowdatatime(3) + ’_’ + size + ’MB.txt’ print(f’文件名:{filename}’) # 設(shè)置文件保存的路徑 filepath = ’C:Users’ + getusername() + ’Desktop’ f = open(filepath + filename, ’w’) # 獲取開始時(shí)間 starttime = getnowdatatime() startclock = time.clock() for i in range(fileSize): if i >= 100: if i % 100 == 0:print(f’已生成{i//100 * 100}MB數(shù)據(jù).’) 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’開始時(shí)間:{starttime}’) print(f’結(jié)束時(shí)間:{getnowdatatime()}’) print(f’總共耗時(shí):{(time.clock() - startclock):<.3}sec.’)if __name__ == ’__main__’: generateTXTFile()
創(chuàng)建1M文件
創(chuàng)建100M文件
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Java 生成帶Logo和文字的二維碼2. XHTML 1.0:標(biāo)記新的開端3. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)財(cái)務(wù)記賬管理系統(tǒng)4. AspNetCore&MassTransit Courier實(shí)現(xiàn)分布式事務(wù)的詳細(xì)過程5. 怎樣才能用js生成xmldom對象,并且在firefox中也實(shí)現(xiàn)xml數(shù)據(jù)島?6. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案7. xml中的空格之完全解說8. Android自定義控件實(shí)現(xiàn)方向盤效果9. Javaweb工程運(yùn)行報(bào)錯(cuò)HTTP Status 404解決辦法10. asp讀取xml文件和記數(shù)
