Python写的一个文件生成器脚本
生活随笔
收集整理的這篇文章主要介紹了
Python写的一个文件生成器脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
生成器功能:
1.可以生成總容量小于100G的文件,超過100G給出提示
2.可以輸入文件大小
3.可以輸入文件數量
4.輸入數據類型為int
5.生成路徑固定為D:/根目錄
6.生成文件名稱固定為test000開始
7.如果超過磁盤空間給出提示
8.打印生成路徑和生成時間
下面是腳本代碼python38:
# -*- coding:utf-8 -*- # author:Hughie from time import time import os import syswhile True:try:FileSize = int(input("Please input fiesize 'int':"))except VlaueError as FileSize:print("Please input filesize 'int'!")else:while True:try:FileNum = int(intput(""Please input fienum 'int':""))FileSum = FileSize*FileNumexcept VlaueError as FileNum:print("Please input filesize 'int'!")else:if(FileSum > 10000 or FileSum == 0):print("FileSize*FileNum>100000 or FileSize * FileNum=0")breakelse:tryt1 = time()j = 1for i in range(FileNum):FileName = "test00" + str(j) +".txt"path = "D:/" + FileNamewith open(path,'w',encoding = 'utf-8') as w:w.seek(1024 * 1024 * FileSize)w.write('\x00')j = j+1t2 = time()time = t2 - t1print("Genteratefile at D:/")print(f"Genteratefile time:{time}秒")breakexcept OSError:print("No space left on device!")breakif (FileSum <100000 and FileSum != 0):break黑盒自測用例:
| 1 | 10,3 | 成功,D盤根目錄生成文件大小為10241KB從test000~test003的txt文件,顯示生成時間,結束程序 | 與預期一致 |
| 2 | 100000,1 | 成功,D盤根目錄生成一個test000文件大小為10241KB邊界值,顯示生成時間,結束程序 | 與預期一致 |
| 3 | 0,3 | 失敗,提示失敗原因可能為文件容量大于100000或等于0,返回入FileSize | 與預期一致 |
| 4 | 100001,1 | 失敗,超出邊界提示原因可能為文件容量大于100000或等于0,返回輸入FileSize | 與預期一致 |
| 5 | 100001,1 | 失敗,超出邊界提示原因可能為文件容量大于100000或等于0,返回輸入FileSize | 與預期一致 |
| 6 | a,1 | 失敗,enter‘a’后提示輸入FileSize為整數 | 與預期一致 |
| 7 | 1,a | 失敗,enter‘a’后提示輸入FileNum為整數 | 與預期一致 |
已知問題:
1.下一次生成數量少于上一次生成,不會刪除原已生成文件多于文件數量的文件
這是我第一個完整的python腳本文件,44行代碼開始python之路
博主用python不久,本例子參考了不少文章和基礎書籍,代碼重構了好幾遍,還做了個QT界面的版本,最后還是直接用腳本文件方便,其實還可以做一些優化,例如生成路徑如果沒有D盤可能會出錯,也可以不固定生成路徑、改成一個接口,限制文件個數等等,目前夠用即可,測試方面也只寫了點黑盒的,寫得不好歡迎各位牛牛給出建議。
總結
以上是生活随笔為你收集整理的Python写的一个文件生成器脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结构变量输入不正确的顺序可能会导致不正确
- 下一篇: python工资条教程_批量发工资怎么操