首页 > 编程语言 >Python 生成测试数据 - faker 模块

Python 生成测试数据 - faker 模块

时间:2024-04-15 10:35:06浏览次数:30  
标签:name Python 测试数据 datetime faker 2023 date 生成

Python 生成测试数据 - faker 模块

摘自:http://notes.zhengxinonly.com/posts/2023-09-04.html
Faker 是一个生成数据的 Python 库,Faker 数据通常用于生成测试数据。

初始化操作

首先需要安装 faker 模块

pip install faker

faker.Faker() 创建并初始化一个伪造的生成器,该伪造器可以通过访问以数据类型命名的属性来生成数据。

Faker 将数据生成委托给提供者。默认提供程序使用英语语言环境,实例化对象是传入 zh-CN 的参数就可以生成中文数据了。

>>> from faker import Faker
>>> faker = Faker('zh-CN')
>>> faker.name()
'凌斌'
>>> faker.address()
'福建省晶县沈河胡街y座 456451'
>>> faker.text()
'您的详细朋友建设的是商品.这么规定继续美国.\n事情品牌图片一次开发.游戏世界出现根据大学单位两个.\n这里下载精华起来一切你的.不会留言生活方法注册男人有关男人.\n结果能够觉得已经.人民次数出来他们准备.\n学校图片然后正在.今年公司科技.关系的人查看软件他的目前.\n生活发布法律只是历史教育.品牌提供全部而且品牌今天文化.\n关系重要虽然留言方法作者看到.包括资源语言精华.'

生成个人信息

>>> faker.first_name()
'建国'
>>> faker.last_name()
'段'
>>> faker.name_male()  # 男性的名字
'姜帅'
>>> faker.name_female()
'吕颖'
>>> faker.simple_profile()  # 个人数据
{'username': 'dsun', 'name': '徐慧', 'sex': 'F', 'address': '西藏自治区宜都县花溪张路j座 199106', 'mail': '[email protected]', 'birthdate': datetime.date(1979, 4, 23)}
>>> faker.simple_profile('M')  # 男性个人数据
{'username': 'vluo', 'name': '徐建平', 'sex': 'M', 'address': '安徽省慧市璧山佛山路S座 507175', 'mail': '[email protected]', 'birthdate': dat
etime.date(1935, 2, 13)}
>>> faker.profile(sex='F')  # 女性个人数据
{'job': '美发店长', 'company': '凌云信息有限公司', 'ssn': '220524197612218387', 'residence': '山西省明市崇文杨路h座 343802', 'current_location': (Decimal('28.6007725'), Decimal('-54.516287')), 'blood_group': 'B-', 'website': ['http://42.cn/', 'https://yongtao.com/', 'http://fanggang.com/'], 'username': 'jiedeng', 'name': '万亮', 'sex': 'F', 'address': '云南省长沙市朝阳辽阳路H座 563507', 'mail': '[email protected]', 'birthdate': datetime.date(2003, 10, 22)}

工作信息

>>> faker.job()  # 工作职位
'餐饮服务员'
>>> faker.address()  # 地址
'香港特别行政区兴安盟县平山王路T座 842650'

互联网相关数据

>>> faker.email()
'[email protected]'
>>> faker.safe_email()
'[email protected]'
>>> faker.free_email()
'[email protected]'
>>> faker.company_email()
'[email protected]'

>>> faker.domain_name()
'changsu.cn'
>>> faker.domain_word()
'changsu'
>>> faker.tld()
'cn'

>>> faker.ipv4()
'157.189.59.13'
>>> faker.ipv6()
'c1c2:3782:ee5a:336:8b44:b463:411:f7a6'
>>> faker.mac_address()
'd6:ca:7d:97:d4:30'
>>> faker.image_url()
'https://placekitten.com/985/464'

日期和时间

>>> faker.date_of_birth()
datetime.date(1918, 11, 6)
>>> faker.century()
'XIII'
>>> faker.year()
'2022'
>>> faker.month()
'11'
>>> faker.month_name()
'四月'
>>> faker.day_of_week()
'星期二'
>>> faker.day_of_month()
'12'
>>> faker.timezone()
'Africa/Douala'
>>> faker.am_pm()
'AM'

生成日期时,还可以限定范围

>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2023, 9, 5, 4, 34, 5, 528030)
>>> faker.date_time_this_century()
datetime.datetime(2013, 1, 31, 3, 39, 28)
>>> faker.date_time_this_decade()
datetime.datetime(2021, 6, 8, 6, 56, 26)
>>> faker.date_time_this_year()
datetime.datetime(2023, 2, 24, 21, 15, 10)
>>> faker.date_time_this_month()
datetime.datetime(2023, 9, 1, 5, 43, 1)

>>> faker.date_this_century()
datetime.date(2009, 4, 20)
>>> faker.date_this_decade()
datetime.date(2022, 12, 27)
>>> faker.date_this_year()
datetime.date(2023, 3, 21)
>>> faker.date_this_month()
datetime.date(2023, 9, 4)

还可以生成用于各种日期时间格式,获取选定范围的日期时间值以及生成未来或过去值的方法。

>>> faker.unix_time()
1445442052
>>> faker.date_time()
datetime.datetime(1992, 10, 19, 10, 24, 7)
>>> faker.iso8601()                       
'1977-09-09T18:27:14'
>>> faker.date()     
'2000-11-12'
>>> faker.time()
'05:13:29'

>>> faker.date_time_between(start_date='-15y', end_date='now')
datetime.datetime(2017, 8, 9, 11, 31, 52)
>>> faker.date_between()
datetime.date(2009, 1, 3)

>>> faker.future_datetime()
datetime.datetime(2023, 9, 6, 16, 35, 44)
>>> faker.future_date()
datetime.date(2023, 10, 2)
>>> faker.past_datetime()
datetime.datetime(2023, 8, 15, 5, 6, 35)
>>> faker.past_date()
datetime.date(2023, 8, 30)

其他信息

哈希值

>>> faker.md5()
'46572a2c48ef9e500ca35b2cd780c058'
>>> faker.sha1()
'41f80ea542e804feb1749e843375c32e1203ccf0'
>>> faker.sha256()
'7edda6146045816052b53e035c020241cbe426f2b4f6ef8031ec7fe7ea481f18'
>>> faker.uuid4()
'c7dee7c4-779b-4e7d-a3f1-ff5b3df8a434'

货币信息

>>> faker.currency()
('NZD', 'New Zealand dollar')
>>> faker.currency_name()
'Zealand dollar'
>>> faker.currency_code()
'NZD'

生成单词

>>> faker.word()
'孩子'
>>> faker.words(6)
['类别', '直接', '为什', '如此', '说明', '要求']

生成数字

>>> faker.random_int()  # 随机生成
2477
>>> faker.random_int(0, 100)  # 限定范围
58
>>> faker.random_digit()  # 一个数字

标签:name,Python,测试数据,datetime,faker,2023,date,生成
From: https://www.cnblogs.com/HeroZhang/p/18135318

相关文章

  • python使用NVlabs/stylegan3生成图片和视频
    此项目只能随机生成图片,不能以图生图先把源码克隆到本地,https://github.com/NVlabs/stylegan3进入项目文件夹,激活虚拟环境condaenvcreate-fenvironment.ymlcondaactivatestylegan3访问https://pytorch.org/get-started/locally/,根据自己的环境选择在虚拟环境执行pi......
  • Python 超好用的几种 f-string 方式,你都会吗 ?
    Python超好用的几种f-string方式,你都会吗?f-string是Python3.6版本引入的一种字符串格式化方法,它允许我们将变量、表达式直接插入到字符串中。本文将介绍f-string的大部分使用方式,快来检查一下你是否全部都掌握了。基本用法f-string是Python中用于字符串格式化的语......
  • Python里的optparse
    Python里的optparse是一个强大的命令行选项解析库argument--参数在命令行中输入的字符串,并会被shell传给 execl() 或 execv()在Python中,参数将是 sys.argv[1:] 的元素注:sys.argv[0] 是被执行的程序的名称fromoptparseimportOptionParser#定义自己的用......
  • python项目位置迁移后,虚拟环境无法使用
    一、虚拟环境无法使用问题修改虚拟环境目录/pyvenv.cfg文件中的路径修改虚拟环境目录/scripts/activate.bat文件中**VIRTUAL_ENV参数**的值,改为当前虚拟环境的路径。另外,项目路径最好不要带中文,否则会导致虚拟环境无法使用(变成使用环境变量终端python)。来源:https://blog......
  • 苹果(MAC)操作系统(OSX)上设置Python3为Python命令启动的方式
    通过HomeBrew安装的Python启动命令为Python3,pip3HomeBrew安装Python的命令为:brewinstallpython然而,很多脚本里Python的启动命令为Python如何使OSX上的Python3命令通过Python启动呢?1.执行下列命令brewinfopython会得到如下输出信息:==>[email protected]:stable3......
  • python之if语法和for循环
    【语法】 图像   流程控制必备知识1.python中使用代码的缩进来表示代码的从属关系,如果两行代码缩进相同,就认为两代码属于平行关系,执行完上一行代码,就执行下一行代码。2.并不是所有的代码都可以拥有缩进的子代码。可以拥有缩进的子代码的代码有:if关键字3.如......
  • blender使用python创建长凳子模型
    importbpyimportmath#导入math模块#jianmodefjianMo(l,w,h,name='CafeBody',location_x=0,location_y=0,location_z=0):#定义咖啡馆的尺寸cafe_length=l#长度,单位:米cafe_width=w#宽度,单位:米cafe_height=h#高度,单位:米#......
  • blender使用python创建柜子模型
    importbpy#创建立方体并返回对象defcreate_cube(name,dimensions,location,parent=None):#执行添加立方体的操作bpy.ops.mesh.primitive_cube_add(size=dimensions[2],enter_editmode=False,location=location)#选择新创建的立方体cube_object......
  • python四则运算生成器
    合作伙伴:2252717在编程任务中,清晰地理解并规划设计思路是至关重要的。对于这个特定的四则运算题目生成器,目标是创建一个程序,能够随机生成包含两个运算符的数学题目,这些题目涉及100以内的数字,并确保所有生成的题目的答案都在0到100之间。以下是我在设计和实现这个程序时遵循的详细......
  • blender使用python创建床模型
    importbpyimportmath#导入math模块#jianmodefjianMo(l,w,h,name='CafeBody',location_x=0,location_y=0,location_z=0):#定义咖啡馆的尺寸cafe_length=l#长度,单位:米cafe_width=w#宽度,单位:米cafe_height=h#高度,单位:米#......