基于python实现生成指定大小txt文档


Posted in Python onJuly 20, 2020

前言

在测试过程中经常遇到文件上传的功能,文件的大小边界值测试一直没有好的解决办法,这里我分享一个创建文件的脚本希望对大家有帮助。

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中super关键字用法实例分析
May 28 Python
详解python的数字类型变量与其方法
Nov 20 Python
python图像常规操作
Nov 11 Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
解决python3运行selenium下HTMLTestRunner报错的问题
Dec 27 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
pytorch 状态字典:state_dict使用详解
Jan 17 Python
浅谈Python数学建模之固定费用问题
Jun 23 Python
python中upper是做什么用的
Jul 20 #Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
Jul 20 #Python
python集合能干吗
Jul 19 #Python
python如何建立全零数组
Jul 19 #Python
解决python中0x80072ee2错误的方法
Jul 19 #Python
python给视频添加背景音乐并改变音量的具体方法
Jul 19 #Python
python中加背景音乐如何操作
Jul 19 #Python
You might like
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
WAF的正确bypass
2017/01/05 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
js使用ajax读博客rss示例
2014/05/06 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
手把手教您实现react异步加载高阶组件
2020/04/07 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
对于Python的Django框架部署的一些建议
2015/04/09 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
python调用win32接口进行截图的示例
2020/11/11 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
Superdry极度干燥美国官网:英国制造的服装品牌
2018/11/13 全球购物
C# .NET面试题
2015/11/28 面试题
竞赛口号大全
2014/06/16 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
校长新学期致辞
2015/07/30 职场文书
个人售房合同协议书
2016/03/21 职场文书
浅谈Redis存储数据类型及存取值方法
2021/05/08 Redis
MySQL系列之十二 备份与恢复
2021/07/02 MySQL
一文带你探究MySQL中的NULL
2021/11/11 MySQL