faker生成器生成虚拟数据的Python模块

拟墨画扇 提交于 2020-08-08 08:02:59

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:行哥

今天给大家介绍一个Faker模块,一款基于Python的测试数据生成工具,无论是用于初始化数据库,创建XML文件,或是生成压测数据,Faker都是不错的选择。

  • 1.Faker工具包
  • 2.生成数据
    • 2.1 获取随机数据
    • 2.2 生成本地化数据
  • 3.最后
faker生成器生成虚拟数据的Python模块

 

1.Faker工具包

只需要使用pip便可下载该工具包

pip install faker

如果下载速度比较慢的话,可以使用国内镜像源来下载

国内源:
- 清华:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:http://mirrors.aliyun.com/pypi/simple/
- 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
- 华中理工大学:http://pypi.hustunique.com/
- 山东理工大学:http://pypi.sdutlinux.org/
- 豆瓣:http://pypi.douban.com/simple/
例如:pip3 install -i https://pypi.doubanio.com/simple/ faker






2.生成数据

2.1 获取随机数据

使用faker.Factory.create()创造并初始化faker生成器,faker生成器可以通过访问按所需数据类型命名的属性来生成数据

from faker import Faker
faker = Faker() # 创建对象
print('name:', faker.name())
print('address:', faker.address())
print('text:', faker.text())



运行结果如下:

name: Jeremiah Brown
address: 32553 Brian Village Suite 438
West Jared, SC 86824
text: Care professional decision beautiful office although indeed. Newspaper away can prove history hour bank table. Area wear effect action war.


2.2 生成本地化数据

在创建对象的时候可以指定所在区域与语言生成想要的测试数据,当然也是支持中文数据的,在创建对象中加入"zh_CN"数据即可

from faker import Faker
faker = Faker("zh_CN")
for i in range(10):
    print('name:', faker.name())


运行结果如下

name: 张涛
name: 王金凤
name: 程秀芳
name: 柳峰
name: 陈杨
name: 刘慧
name: 喻柳
name: 宋宇
name: 张岩
name: 戴波








这个工具包提供了多个方法来生成数据,利用这些方法来生成一个“女朋友”的详细数据非常简单

  • faker.providers.address # 地址
  • faker.providers.company # 公司
  • faker.providers.internet # 网络信息
  • faker.providers.job # 工作
  • faker.providers.lorem # 文本
  • faker.providers.person # 个人
  • faker.providers.phone_number # 手机号码
  • ker.providers.ssn

代码如下:

from faker import Faker
faker = Faker("zh_CN")
print('姓名:', faker.name())# 随机输出中文姓名
print('联系方式:', faker.phone_number())# 随机输出电话号码
print('地址:', faker.address())# 随机输出地址
print('公司:', faker.bs())# 随机输出公司
print('工作:', faker.job())# 随机输出工作
print('邮箱:', faker.company_email())# 随机输出邮箱
print('文本:', faker.text())







 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!