700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Faker 快速构造测试数据

Faker 快速构造测试数据

时间:2023-10-04 06:35:13

相关推荐

Faker 快速构造测试数据

独角兽企业重金招聘Python工程师标准>>>

Faker是什么

在软件开发过程中,构造测试数据是必须的工作,可以通过SQL脚本等方式构造,但总体还是比较麻烦,花费较多的精力,利用Python生态的Faker包可以青松的构造各种文化下的随机信息(名字,地址,邮编,城市,省份等)

Faker是一个Python包,开源的GITHUB项目,主要用来创建伪数据,使用Faker包,无需再手动生成或者手写随机数来生成数据,只需要调用Faker提供的方法,即可完成数据的生成。

安装Faker

方法一:

pip install faker

D:\python\Anaconda3>pip install fakerCollecting fakerDownloading /packages/79/36/8e1aa2f775018ea11a897bef32b6f80d78dcb6cc6563744f2e1dcf128b82/Faker-1.0.2-py2.py3-none-any.whl (845kB)100% |████████████████████████████████| 849kB 125kB/sRequirement already satisfied: six>=1.10 in d:\python\anaconda3\lib\site-packages (from faker) (1.10.0)Collecting text-unidecode==1.2 (from faker)Downloading /packages/79/42/d717cc2b4520fb09e45b344b1b0b4e81aa672001dd128c180fabc655c341/text_unidecode-1.2-py2.py3-none-any.whl (77kB)100% |████████████████████████████████| 81kB 114kB/sRequirement already satisfied: python-dateutil>=2.4 in d:\python\anaconda3\lib\site-packages (from faker) (2.6.1)Installing collected packages: text-unidecode, fakerSuccessfully installed faker-1.0.2 text-unidecode-1.2

方法二:

pycharm settings -> Project Interpreter 面板中添加安装

方法三:

Anaconda navigator -> Environments 面板中添加安装

Faker的使用

引用包:

from faker import Faker

初始化:

f=Faker(locale='zh_CN') 关于初始化参数locale:为生成数据的文化选项,默认为en_US,只有使用了相关文化,才能生成相对应的随机信息

实例

D:\python\Anaconda3>ipythonPython 3.6.2 |Anaconda custom (64-bit)| (default, Jul 20 , 12:30:02) [MSC v.1900 64 bit (AMD64)]Type 'copyright', 'credits' or 'license' for more informationIPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.In [1]: from faker import FakerIn [2]: f = Faker(local = 'zh_CN')In [3]: f.name()Out[3]: 'Elizabeth Hood'In [4]: f = Faker(locale = 'zh_CN')In [5]: f.name()Out[5]: '曹建平'In [6]: f.city()Out[6]: '武汉县'In [8]: f.street_address() + f.street_name() + f.street_suffix()Out[8]: '澳门路c座巢湖路路'In [9]: f.country_code()Out[9]: 'CV'In [10]: f.longitude()Out[10]: Decimal('-96.424063')In [11]: f.latitude()Out[11]: Decimal('-11.7112995')In [12]: f.address()Out[12]: '山东省呼和浩特县和平巢湖街S座 832641'In [13]: f.province()Out[13]: '西藏自治区'In [14]: f.city_suffix()Out[14]: '县'In [15]: f.postcode()Out[15]: '604297'In [16]: f.license_plate()Out[16]: 'AYF-2563'In [17]: f.bank_country()Out[17]: 'GB'In [18]: f.iban()Out[18]: 'GB84XRSF1580415636005'In [19]: f.bban()Out[19]: 'GLHH0499033551406'In [20]: f.color_name()Out[20]: 'MediumOrchid'In [21]: f.rgb_css_color()Out[21]: 'rgb(192,124,210)'In [22]: f.catch_phrase()Out[22]: 'Decentralized incremental intranet'In [23]: pany()Out[23]: '艾提科信信息有限公司'In [24]: f.credit_card_full(card_type=None)Out[24]: 'VISA 16 digit\n成 吴\n4456197674098871 05/28\nCVC: 721\n'In [25]: f.date_time()Out[25]: datetime.datetime(2002, 8, 11, 7, 30, 3)In [26]: f.iso8601()Out[26]: '1983-09-02T06:46:48'In [27]: f.job()Out[27]: '驾校教练'In [28]: f.file_name()Out[28]: '网上.bmp'In [29]: f.ipv4()Out[29]: '198.53.37.137'In [30]: f.uri_path()Out[30]: 'blog'In [31]: f.url()Out[31]: '/'In [33]: f.email()Out[33]: 'minfeng@'In [34]: f.phone_number()Out[34]: '13863565741'In [35]: f.ssn()Out[35]: '510411200011245335'

参考官方文档:https://faker.readthedocs.io/en/master/locales/zh_CN.html

构造测试数据存入CSV

# _*_ coding: utf-8 _*_# python3.6import sysimport faker# 设置中国地区偏好数据fake = faker.Faker(locale='zh-CN')target = open("person.csv", 'a')# 随机生成一万条数据写入到csvfor i in range(10000):# 姓名,身份证,手机号码,工作岗位,电子邮箱,信用卡,公司名称data = fake.name() + ',' + fake.ssn() + ',' + fake.phone_number() + ',' + fake.job() + ',' + fake.email() + ',' + fake.credit_card_number(card_type=None) + ',' + pany()# print(data)target.writelines(str(data) + '\n')target.close()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。