1. 程式人生 > 程式設計 >基於python實現生成指定大小txt文件

基於python實現生成指定大小txt文件

前言

在測試過程中經常遇到檔案上傳的功能,檔案的大小邊界值測試一直沒有好的解決辦法,這裡我分享一個建立檔案的指令碼希望對大家有幫助。

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檔案

基於python實現生成指定大小txt文件基於python實現生成指定大小txt文件

建立100M檔案

基於python實現生成指定大小txt文件基於python實現生成指定大小txt文件

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。