当前位置:首页 >> 脚本专栏

Python faker生成器生成虚拟数据代码实例

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

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())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。