Python库 - 批量生成数据的库Faker
一:场景
在软件需求、开发、测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据。
由于现在的业务系统数据多种多样,千变万化。在手动制造数据的过程中,可能需要花费大量精力和工作量,此项工作既繁复又容易出错,而且,部分数据的手造工作无法保障:比如UUID类数据、MD5、SHA加密类数据等。
二:Faker是什么
Faker是一个Python包,开源的GITHUB项目,主要用来创建伪数据,使用Faker包,无需再手动生成或者手写随机数来生成数据,只需要调用Faker提供的方法,即可完成数据的生成。
# 文档地址
https://faker.readthedocs.io/en/master/
# github
https://github.com/joke2k/faker
三:安装
pip install faker
安装好了之后,可以在CMD或者Shell中通过faker命令来调试,具体如下:
faker [-h] [--version] [-o output] [-l {
bg_BG,cs_CZ,...,zh_CN,zh_TW}] [-r REPEAT] [-s SEP] [-i {
package.containing.custom_provider otherpkg.containing.custom_provider}] [fake] [fake argument [fake argument ...]]
参数说明:
-h,–help:显示帮助消息
–version:显示程序的版本号
-o FILENAME:重定向输出到指定的文件名
-l {bg_BG,cs_CZ,…,zh_CN,zh_TW}:允许使用本地化的供应商
-r REPEAT:将生成的输出的特定数量的
-s SEP:将生成的每个产生的输出后的指定的分隔
-i {my.custom_provider other.custom_provider}:使用其他自定义供应商名单。请注意,是包含您提供一流的,而不是定制的Provider类本身包的导入路径。
fake:是产生一个输出,该假的名称,如 name,address或text
[fake argument …]:可选参数传递到假(例如,简档假取的逗号分隔的字段名作为第一个参数的可选列表)
四:Faker的使用
from faker import Faker
fake = Faker(locale='zh_CN')
# fake = Faker(locale='en_US')
name = fake.name() # 随机生成姓名
address = fake.address() # 随机生成地址
print(name, address)
# 关于初始化参数locale:为生成数据的文化选项,默认为en_US,只有使用了相关文化,才能生成相对应的随机信息(比如:名字,地址,邮编,城市,省份等)
输出结果:
饶瑞 江苏省丽华市西峰梧州街Z座 573090
4.1 可选择的文化信息
en_AU - English (Australia) # 英语 - 澳大利亚
en_CA - English (Canada) # 英语 - 加拿大
en_GB - English (Great Britain) # 英语 - 英国
en_US - English (United States