想什么有什么?完美数据制造者faker

2022-07-21 15:04:55 浏览数 (2)

各位测试同学,你是否因为各种测试数据而烦恼,是否因为这个而不停掉头发?现在福音来啦!不用998,也不用99,只需要点个赞,支持下。给大家分享这个faker库,想要什么什么都有的数据,简直不要太好用。

既然说的那么厉害,那我提下需求,我要姓名,手机,地址,等等先安装下,还是是通过pip这个包管理工具安装

代码语言:javascript复制
pip install Faker

你要姓名、手机、地址,代码给你拿去用

代码语言:javascript复制
#!/usr/bin/python
# -*- coding: utf-8 -*-
from faker import Faker

fake = Faker()
print(fake.name())
print(fake.address())
print(fake.phone_number())

哎,你给的,和我想要的不一样呀,我要中文呀。

别急,faker支持多种语言,支持多种语言

简体中文 zh_CN

繁体中文 zh_TW

德文 de_DE

日文 ja_JP

法文 fr_FR

..........总之很多,可以到这个地址可以查到

https://faker.readthedocs.io/en/master/index.html

只要新建faker对象是,将当作参数传入即可,那现在我们生成多个的不同语言的名字

代码语言:javascript复制
#!/usr/bin/python
# -*- coding: utf-8 -*-
from faker import Faker

lang_list = ['zh_CN', 'zh_TW', 'de_DE', 'ja_JP', 'fr_FR']
for lang in lang_list:
    fake = Faker(lang)
    print(fake.name())

那么介绍下我们常用的信息

faker主要是通过不同类型的providers,生成不同类型的信息,给大家看下标准的providers

那么不用添加providers,可以直接通过生成器生成,请查看下面代码

代码语言:javascript复制
#!/usr/bin/python
# -*- coding: utf-8 -*-
from faker import Faker

fake = Faker('zh_CN')
print(fake.company())  # 生成公司名 ,比如 华泰通安传媒有限公司
print(fake.address())  # 生成地址,比如 江西省沈阳市白云巢湖路J座 234523
print(fake.name())  # 生产名字 比如 高倩
print(fake.color())  # 生成颜色值,比如 #4496aa
print(fake.phone_number())  # 生成手机号,比如 18626168740
print(
    fake.profile())  # 生成个人档案 ,比如 {'job': '金融/经济研究员', 'company': '易动力传媒有限公司', 'ssn': '510301198812033801', 'residence': '重庆市兴安盟县南湖饶街a座 936553', 'current_location': (Decimal('-15.0069625'), Decimal('152.862184')), 'blood_group': 'O ', 'website': ['https://junchang.cn/'], 'username': 'baijie', 'name': '潘芳', 'sex': 'F', 'address': '广西壮族自治区合山县西峰杨路u座 273984', 'mail': 'na26@gmail.com', 'birthdate': datetime.date(1917, 12, 12)}
print(fake.user_agent())  # 生成浏览器访问类型,比如 Opera/8.27.(X11; Linux i686; lzh-TW) Presto/2.9.185 Version/10.00
print(fake.job())  # 生产职业 ,比如 理货员

有些信息需要添加对应的provider,生成某种类型的信息,比如person

代码语言:javascript复制
#!/usr/bin/python
# -*- coding: utf-8 -*-
from faker import Faker
from faker.providers import person

fake = Faker('zh_CN')
fake.add_provider(person)
print(fake.first_name())  # 生成名字,比如 玉梅
print(fake.last_name())  # 生成姓,比如 李
print(fake.name_male())  # 生成男性名字,比如 田浩
print(fake.name_female())  # 生成女性名字,比如 孙红霞
print(fake.language_name())  # 生成英文名,比如 Norwegian

今天就分享到这里了哦!

0 人点赞