前言
当我们开发完成之后,需要一些假数据来支持我们的系统。如果自己构造的话,费时费力,还不一定能够构造合适的数据。而用python的faker包,构造假数据非常简单!
安装工具
pip install faker
创建 Faker
安装完成后,使用时需要先创建一个 Faker 对象,创建方法有两种,一种是直接通过构造函数来创建,另一种是通过工厂函数来创建。
>>> from faker import Faker, Factory
>>> fake1 = Factory.create() # 通过工厂函数来创建
>>> fake1.name() # 随机生成一个姓名
'Austin Parker'
>>> fake2 = Faker() # 通过构造函数来创建
>>> fake2.name() # 随机生成一个姓名
'Linda Castaneda'
可以看到,创建了 faker 之后,可以调用 name()
方法来随机生成一个姓名。
本地化设置
上面生成的姓名都是英文姓名,如果想要生成中文姓名,该如何办呢?
Faker 支持创建时设置本地化,也就是指定区域。
>>> fake = Faker("zh_CN")
>>> fake.name()
'西建平'
可以看到,设置了本地化之后,可以随机生成中文姓名。
生成更多类型的数据
使用 Faker 除了可以生成姓名之外,还可以生成很多其他类型的数据。以下列举出一些常用的类型数据生成方式。
地址
>>> fake.city() # 城市名称
'辛集县'
>>> fake.street_name() # 街道名称
'荆街'
>>> fake.country_code() # 国家编号
'DM'
>>> fake.longitude() # 经度
Decimal('134.520688')
>>> fake.address() # 地址
'吉林省宜都市清河俞街j座 292426'
>>> fake.province() # 省份
'宁夏回族自治区'
>>> fake.latitude() # 纬度
Decimal('-14.386640')
>>> fake.street_address() # 街道地址
'益路v座'
>>> fake.city_suffix() # 市
'市'
>>> fake.postcode() # 邮政编码
'530435'
>>> fake.country() # 国家
'维尔京群岛'
>>> fake.street_suffix() # 街道后缀
'街'
>>> fake.district() # 区
'安次'
>>> fake.geo_coordinate(center=None, radius=0.001) # 地理坐标
Decimal('52.985293')
>>> fake.city_name() # 城市名称
'沈阳'
>>> fake.building_number() # 建筑编号
'C座'
车牌号
>>> fake.license_plate() # 车牌号
'26FX4'
银行
>>> fake.bank_country()
'GB'
>>> fake.iban()
'GB39SNOA2073712937476'
>>> fake.bban()
'NYJX570813729289
条形码
>>> fake.ean8() # 8位条码
'63080728'
>>> fake.ean13() # 13位条码
'0334204949323'
>>> fake.ean(length=8