700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【造数】利用Python快速生成测试数据

【造数】利用Python快速生成测试数据

时间:2021-04-05 12:53:12

相关推荐

【造数】利用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 randomimport 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、获取英文字母小写:abcdefghijklmnopqrstuvwxyzprint(string.ascii_lowercase)#7、获取英文字母大写:ABCDEFGHIJKLMNOPQRSTUVWXYZprint(string.ascii_uppercase)#8、获取英文字母大小写:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZprint(string.ascii_letters)#9、获取数字:0123456789print(string.digits)

2.2 生成指定长度的随机字符串

import stringimport 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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。