【造数】利用Python快速生成测试数据
前言
我们在做测试的过程中,时常需要构造测试数据,Python提供了一些模块和库可以快速的帮我们构造测试数据。用好这些库可以使我们的测试工作事半功倍。
1、日期数据生成
使用datetime模块,自动获取当前时间,一小时前时间,一天前时间,一天后时间
import datetimenowTime=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')#现在pastTime = (datetime.datetime.now()-datetime.timedelta(hours=1)).strftime('%Y-%m-%d %H:%M:%S')#过去一小时时间yesterdayTime = (datetime.datetime.now()+datetime.timedelta(days=-1)).strftime('%Y-%m-%d %H:%M:%S')#昨天afterTomorrowTime = (datetime.datetime.now()+datetime.timedelta(days=2)).strftime('%Y-%m-%d %H:%M:%S')#后天tomorrowTime = (datetime.datetime.now()+datetime.timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')#明天print(' 当前时间:',nowTime)
print('一个小时前:',pastTime)
print(' 一天前:',yesterdayTime)
print(' 一天后:',tomorrowTime)
print(' 两天后:',afterTomorrowTime)
2、生成数字和字符串
2.1 random和string模块基本使用介绍
代码实现:
import random
import string#1、生成[0,1]之间的1个随机数
print(random.random()) #结果:0.5681789770905409#2、生成[a,b]之间的1个随机数整数
print(random.randint(1,10)) # 结果:7#3、生成[a,b]之间的1个随机浮点数
print(random.uniform(1,10)) # 结果:4.10465640319117#4、从列表中随机取一个值
char_list=['a','b','c','d','e','f','g']
print(random.choice(char_list)) # 结果:g#5、从列表中随机取n个值
print(random.sample(char_list,3)) #结果:['g', 'd', 'a']#6、获取英文字母小写:abcdefghijklmnopqrstuvwxyz
print(string.ascii_lowercase)#7、获取英文字母大写:ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_uppercase)#8、获取英文字母大小写:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_letters)#9、获取数字:0123456789
print(string.digits)
2.2 生成指定长度的随机字符串
import string
import random'''
方法一:定义一个函数,参数为所要生成随机字符串的长度。通过random.randint(a, b)方法得到随机数字,具体函数如下:
'''
def generate_random_str(randomlength=16):"""生成一个指定长度的随机字符串"""random_str = ''base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'length = len(base_str) - 1for i in range(randomlength):random_str += base_str[random.randint(0, length)]return random_str'''
方法二:方法一中我们采用将数字及字母罗列出来,并从中随机选择的方法进行生成,显得不够pythonic,
方法二中我们采用string模块得到数字及字母,并通过列表生成式的方法得到结果。方法如下:
'''
def generate_random_str(randomlength=16):"""生成一个指定长度的随机字符串,其中string.digits=0123456789string.ascii_letters=abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"""str_list = [random.choice(string.digits + string.ascii_letters) for i in range(randomlength)]'''概述:python中' '.JOIN()的使用,将序列中的元素以指定的字符连接生成一个新的字符串。语法: ‘delimiter’.join(seq)delimiter:分隔符。可以为空delimiter:要连接的元素序列、字符串、元组、字典'''random_str = ''.join(str_list)return random_strrandomstr= generate_random_str(24)
print (randomstr) #fFBKoFgZZ5X9s3xfQ649VO49
【造数】利用Python快速生成测试数据相关推荐
- Python快速生成gif图
前言 gif图就是动态图,它的原理和视频有点类似,也是通过很多静态图片合成的.本篇文章主要介绍,如何利用Python快速合成gif图,主要利用Python的第三方库imageio imageio介绍 ...
- 钉钉一行代码_利用Python快速搭建钉钉和邮件数据推送系统
前面的文章我们写到了利用Python实现钉钉和邮件的数据推送,在数据处理这一块实现了对mysql和odps的数据获取和处理,可以满足常规业务大部分数据场景需求,在一家初创公司数据基础建设还不完善的时候 ...
- DataFactory快速生成测试数据
1.DataFactory配置连接MySQL 1)下载安装myodbc32驱动 2)DataFactory-->New-->ODBC-->DBC Administrator--> ...
- python etree创建xml_利用 Python ElementTree 生成 xml的实例
Python 处理 xml 文档的方法有很多,除了经典的 sax 和 dom 之外,还有一个 ElementTree. 首先 import 之: from xml.etree import Eleme ...
- python批量生成图片_利用Python批量生成任意尺寸的图片
实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...
- python批量生成图_利用Python批量生成任意尺寸的图片
实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...
- 利用python随机生成姓名的实例教程
本篇文章主要讲解:利用python随机生成姓名的实例教程 作者:任聪聪 整体思路 在我们生成姓名的时候,一般我们要考虑的是姓名的组合构成,姓+名,姓是固定的,名是随机的,故此我们可以通过随机调用常用汉 ...
- windows和Linux利用Python快速搭建一个网站
windows和Linux利用Python快速搭建一个网站 一.windows 步骤1:安装Python3(自行百度) 步骤2:在cmd窗口输入ipconfig查看本机ip地址,IPV4那一行.如:1 ...
- 教你一招利用Python快速去除图片水印
大家好,我是IT界搬运工. 相信大家都有在网上下载好图片但是有水印的烦恼,那么问题就来了:看到心爱的图片想要"占为己有".怎么把图片上的水印去除呢?今天我就来教你一招利用Pytho ...
- 利用Python快速绘制海报级别地图
利用Python快速绘制海报级别地图 1.简介 2.利用prettymaps快速制作海报级地图 2.1 prettymaps的几种使用方式 2.1.1 圆形模式 2.1.2 圆角矩形模式 2.1.3 ...
最新文章
- Java对MySQL数据库进行连接、查询和修改【转载】
- 21-while里的break简单用法
- Java笔试之Singleton
- BCG-MFC 库对《支持重新启动管理器》都做了些什么
- python封装数据库操作_Python3 数据库操作小封装
- phonegap 总结
- 《Oracle 11g SQL 和PL SQL从入门到精通》 学习笔记
- Windows下安装神通数据库
- java读取和写入txt_Java读取和写入txt文件
- 服务器单硬盘raid,服务器硬盘做raid0
- Spring Data JPA进阶(三):Specification查询
- Android Camera2 对焦梳理
- 职场干货 | 如何让你的自我介绍,快速打动面试官
- Android 页面跳转时发生双击导致app闪退的解决方案
- 游戏编辑器制作(6)
- c语言 已知5名同学的4门成绩,已知5个学生的4门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从高到低将各学生的成绩排 序记录...
- 网易邮箱登录界面制作方法
- 【拓扑排序+dp】Hzy's Rabbit Candy
- Fiddler的安装及配置2-2
- 火车头分页post php,轻松搞定PHPCMS V9火车头采集自动分页