快速云:存在于Python中不一样的Faker

Faker不同角度角色

在英雄联盟中Faker就是三冠王,神一般的存在。而在Python也存在神一般存在的第三方库Faker,它是一个Python包,主要用来创建伪数据,使用Faker包,无需再手动生成或者手写随机数来生成数据,只需要调用Faker提供的方法,即可完成数据的生成。快速云:存在于Python中不一样的Faker

应用场景

在软件需求、开发、测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据。由于现在的业务系统数据多种多样,千变万化。在手动制造数据的过程中,可能需要花费大量精力和工作量,此项工作既繁复又容易出错,比如要构造一批用户三要素(姓名、手机号、身份证、地址……)、构造一批银行卡数据、或构造一批地址通讯录等。


自动化测试

无论是手工测试还是自动化测试中,需要的测试数据需要接近于真实是才能重现出用户操作的内容。


安装Faker

项目地址: https://github.com/joke2k/fakerpip安装: pip install faker


Faker使用方法

处于国内这个大环境之下,中文的时候是必定的。而Faker也支持中文情况,另外常用的语言代号如下:

* 简体中文:zh_CN * 繁体中文:zh_TW * 美国英文:en_US * 英国英文:en_GB * 德文:de_DE * 日文:ja_JP * 韩文:ko_KR * 法文:fr_FR


其他语言代码例子:

```ar_EG - Arabic (Egypt)ar_PS - Arabic (Palestine)ar_SA - Arabic (Saudi Arabia)bg_BG - Bulgarianbs_BA - Bosniancs_CZ - Czechde_DE - Germandk_DK - Danishel_GR - Greeken_AU - English (Australia)en_CA - English (Canada)en_GB - English (Great Britain)en_NZ - English (New Zealand)en_US - English (United States)es_ES - Spanish (Spain)es_MX - Spanish (Mexico)et_EE - Estonianfa_IR - Persian (Iran)fi_FI - Finnishfr_FR - Frenchhi_IN - Hindihr_HR - Croatianhu_HU - Hungarianhy_AM - Armenianit_IT - Italianja_JP - Japaneseka_GE - Georgian (Georgia)ko_KR - Koreanlt_LT - Lithuanianlv_LV - Latvianne_NP - Nepalinl_NL - Dutch (Netherlands)no_NO - Norwegianpl_PL - Polishpt_BR - Portuguese (Brazil)pt_PT - Portuguese (Portugal)ro_RO - Romanianru_RU - Russiansl_SI - Slovenesv_SE - Swedishtr_TR - Turkishuk_UA - Ukrainianzh_CN - Chinese (China Mainland)zh_TW - Chinese (China Taiwan)```


基础例子一输出姓名及地址:

from faker import Fakerfake = Faker(locale='zh_CN')name = fake.name()address = fake.address()print(name)print(address)

输出内容: C:\Python37\python.exe R:/python/utx-master/FakerTest.py 王明 上海市潮州县大东辛集街k座 760823


其他方法

个别方法具有针对性,比如province()方法适用中国,但不适用美国及其他一些国家。


地址相关

fake.address() # 地址# 湖南省天津市山亭西安街u座 553035

fake.building_number() # 楼名

K座

fake.city() # 完整城市名

贵阳县

fake.city_name() # 城市名字(不带市县)

长春

fake.city_suffix() # 城市后缀名

fake.country() # 国家名称

索马里

fake.country_code(representation="alpha-2")

UY # 国家编号

fake.district() # 地区

高坪

fake.postcode() # 邮编

483362

fake.province() # 省

黑龙江省

fake.street_address() # 街道地址

六盘水路Q座

fake.street_name() # 街道名称

深圳街

fake.street_suffix() # 街道后缀名


公司相关

fake.bs() # 商业用词# e-enable compelling content

fake.catch_phrase() # 妙句(口号)

Distributed regional migration

fake.company() # 公司名称

时空盒数字网络有限公司

fake.company_prefix() # 公司名称前缀

方正科技

fake.company_suffix() # 公司名称后缀

科技有限公司


电话相关

fake.msisdn() # 完整手机号码(加了国家和国内区号)# '9067936325891'

fake.phone_number() # 手机号

'18520149917'

fake.phonenumber_prefix() # 区号

145


身份证相关

fake.ssn(min_age=18, max_age=90) # 身份证# '522701196801293970'


相关Faker干货推文:

1.https://zhuanlan.zhihu.com/p/87203290

2.https://mp.weixin.qq.com/s?__biz=MzA4NDUyNzA0Ng==&mid=2247486145&idx=1&sn=4d309ad345174c63c9855501ae10c883&chksm=9fe49868a893117e917b241df9883c9b2c11374457162d88beba49960ced833a8a89d7ca1784&mpshare=1&scene=23&srcid=0707h7oveAmsLtZ4u4hnKfSE&sharer_sharetime=1594082659613&sharer_shareid=ab1e71d153437181941bf9650829834a#rd

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章