基于python實(shí)現(xiàn)生成指定大小txt文檔
前言
在測(cè)試過程中經(jīng)常遇到文件上傳的功能,文件的大小邊界值測(cè)試一直沒有好的解決辦法,這里我分享一個(gè)創(chuàng)建文件的腳本希望對(duì)大家有幫助。
demo
"""
* Create by dell on 2020/7/10
* Author :wencheng
* 微信公眾 :自動(dòng)化測(cè)試 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", "")
# 獲取當(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('請(qǐng)輸入你想生成的TXT文件大小(MB):')
if size.strip().isdigit() != True:
print('只能輸入整數(shù),請(qǐng)重新輸入!')
continue
else:
fileSize = int(size)
break
if fileSize >= 200:
print('正在生成TXT文件,請(qǐng)稍候... ...')
# 生成指定大小的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文件


以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
利用Matplotlib實(shí)現(xiàn)單畫布繪制多個(gè)子圖
這篇文章主要介紹了利用Matplotlib實(shí)現(xiàn)單畫布繪制多個(gè)子圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
python庫(kù)geopandas讀取寫入空間數(shù)據(jù)及繪圖實(shí)例探索
這篇文章主要為大家介紹了python庫(kù)geopandas讀取寫入空間數(shù)據(jù)及繪圖實(shí)例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2024-02-02
Python Joblib庫(kù)使用方法案例總結(jié)
Python Joblib庫(kù)是一個(gè)用于并行計(jì)算和數(shù)據(jù)預(yù)處理的工具庫(kù)。它可以幫助用戶快速處理大量數(shù)據(jù),提高計(jì)算效率。其中,最常用的功能是并行計(jì)算,可以使用多個(gè)CPU核心同時(shí)處理任務(wù),大大縮短計(jì)算時(shí)間。此外,Joblib還提供了一些數(shù)據(jù)預(yù)處理的功能,可以幫助用戶更好地處理數(shù)據(jù)2023-06-06
Python中多個(gè)數(shù)組行合并及列合并的方法總結(jié)
下面小編就為大家分享一篇Python中多個(gè)數(shù)組行合并及列合并的方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04
簡(jiǎn)要講解Python編程中線程的創(chuàng)建與鎖的使用
這篇文章主要介紹了簡(jiǎn)要講解Python編程中線程的創(chuàng)建與鎖的使用,Python中雖然有GIL的存在,但依然是能夠創(chuàng)建多個(gè)線程來交替使用的,需要的朋友可以參考下2016-02-02
Python使用sorted對(duì)字典的key或value排序
這篇文章主要介紹了Python使用sorted對(duì)字典的key或value排序,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
python使用pyaudio錄音和格式轉(zhuǎn)化方式
這篇文章主要介紹了python使用pyaudio錄音和格式轉(zhuǎn)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
python爬蟲基礎(chǔ)之簡(jiǎn)易網(wǎng)頁(yè)搜集器
這篇文章主要介紹了python爬蟲基礎(chǔ)之簡(jiǎn)易網(wǎng)頁(yè)搜集器,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python爬蟲的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04

