Faker介绍

官方文档:https://faker.readthedocs.io/en/master/

Faker is a Python package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you.

Faker是一个为您生成虚假数据的Python包。无论您是需要引导您的数据库、创建漂亮的XML文档、填充您的持久性以进行压力测试,还是匿名化从生产服务获取的数据,Faker都适合您。

使用前需要知道

这些数据都是伪造出来的,不保证真实性,需要谨慎使用。

安装

pip install Faker

数据返回语言(中文简体、中文繁体、英文...)

Faker中使用locale关键字(可以不指定这个,直接传入位置参数也行)来指定一种或者多种虚假数据的语言

from faker import Faker

# 实例化Faker对象,不指定数据显示语言,默认为en_US:英文
faker_defalut = Faker() # 随机返回一个名字
print(faker_defalut.name()) # Nathan Munoz # 指定中文
faker_CN = Faker(locale='zh_CN')
print(faker_CN.name()) # 萬怡安 # 随机使用locale列表中的某种语言返回数据
fake = Faker(locale=['en_US', 'zh_CN', 'zh_TW'])
print(fake.name()) # 随机返回5条数据
for _ in range(5): # 这里的变量 _,不希望被使用,但是可以被使用,因为我们只要它循环的过程
print(faker_CN.name())

其他语言

PS:每个语言可用的方法可能有所不同移步:https://faker.readthedocs.io/en/master/locales.html

本地文档

在本地目录下执行:python -m faker > docs.txt将在当前目录下生成faker的文档

常用方法

from faker import Faker()

fake_CN = Faker(locale='zh_CN')

# name() 生成姓名
print(faker_CN.name()) # name_female() 女性的名字
print(faker_CN.name_female()) # 严婷 # name_male() 男性的名字
print(faker_CN.name_male()) # 徐成 # phone_number() 手机号码
print(faker_CN.phone_number()) # 13506788385 # ssn() 生成身份证号
print(faker_CN.ssn()) # 37160319971003166X # postcode() 邮政编码
print(faker_CN.postcode()) # 176393 # address() 将生成一个详细地址 及邮编,但是这个地址不一定正确
print(faker_CN.address()) # 辽宁省哈尔滨县长寿杨街F座 418615 # company() 公司名称
print(faker_CN.company()) # 凌云信息有限公司 # credit_card_number() 信用卡卡号
print(faker_CN.credit_card_number()) # 2530679186722860 # date() 获取时间:默认格式 %Y-%m-%d # 2000-08-02
print(faker_CN.date())
# 修改格式
print(faker_CN.date(pattern='%Y-%m-%d %H:%M:%S')) # 2020-04-26 11:52:57 # free_email() 电子邮箱
print(faker_CN.free_email()) # jingyuan@hotmail.com # job() 职业
print(faker_CN.job()) # 情报信息分析人员 # bothify(text, letters)方法
# text关键字参数中:将#号替换成0-9的数字, letters关键字中:将?号替换成中字符串的任意一个子字符 可用于生成订单编号,产品编号类似数据
print(faker_CN.bothify(text='产品编号: ??-########', letters='JD')) # 产品编号: DD-28748630 # ean(length,prefixes) 条形码, length条形码总长-只能是8或者13(默认), prefixes需传递一个元组,如果定义了将随机去元组中某一个字符串并加在生成的条码前
print(faker_CN.ean(length=13, prefixes=('2020', '2018',))) # 2020148459094 # text(max_nb_chars,) 生成一个随机字符串 字符串最大长度默认 200, 最小长度5
print(faker_CN.text())
print(faker_CN.text(max_nb_chars=5)) # 操作浏览. # image_url() 图片连接
print(faker_CN.image_url()) # https://placeimg.com/117/235/any # ipv4_public() IPV4地址
print(faker_CN.ipv4_public()) # 107.85.199.240 # mac_address() mac地址
print(faker_CN.mac_address()) # 19:7b:7b:40:b5:ab # user_agent() 生成用户代理
print(faker_CN.user_agent()) # Opera/8.50.(X11; Linux x86_64; ro-RO) Presto/2.9.168 Version/11.00

完结

这里只列举了一部分,应该能模拟很多测试工作中需要的数据了,如需要补充的可以前往Faker官方文档学习,Python强大之处之一就是有很多开源的库,可以直接拿来使用。

Gitee源码地址:https://gitee.com/zy7y/study_packages.git

Python生成测试数据-Faker(非LOL选手-李相赫)的更多相关文章

  1. 用Python生成测试数据

    转载自:http://blog.csdn.net/caz28/article/details/45972109 有时我们需要大量的数据,一般编个程序生成一堆随机数据,Python很适合文本处理,干这个 ...

  2. python生成excel测试数据

    在功能测试时,经常会测到excel文件导入导出的功能,导入与导出时,需要测试系统单次导入大批量数据时是否正常, 如果系统承受不起太大的数据导入,则需要开发限制单次导入的数量,以防止系统服务异常.大量的 ...

  3. Faker——生成测试数据的PHP类库

    工作上用的是TP框架,每次测试功能的时候都要手动添加测试数据,词穷起名总是起一些test1.test2这种low到爆炸的用户名,这让我很难受.稍微翻阅了一些资料,发现laravel有一个生成测试数据的 ...

  4. python-利用faker模块生成测试数据

    Python-利用faker模块生成测试数据 1.前言: Faker模块是一个生成伪数据的第三方模块,他提供了一系列方法,使用非常方便,在做自动化测试时,注册信息,用这个模块生成测试数据就体现了它的好 ...

  5. 通过 Python_Faker 生成测试数据

    通过 Python_Faker 生成测试数据 一.介绍 在软件需求.开发.测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,你不可能通过手工来生成(最傻的方法)可能 ...

  6. 使用Hypothesis生成测试数据

    Hypothesis是Python的一个高级测试库.它允许编写测试用例时参数化,然后生成使测试失败的简单易懂的测试数据.可以用更少的工作在代码中发现更多的bug. 安装 pip install hyp ...

  7. Python生成随机数组的方法小结

    Python生成随机数组的方法小结 本文实例讲述了Python生成随机数组的方法.分享给大家供大家参考,具体如下: 研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Pyt ...

  8. JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决

    JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...

  9. db:seed 更好的生成测试数据

    make:model -m -> 在database/migrations/目录下生成的table表中设置表的字段名和字段类型->在app/目录下对应的模型文件中设置可添加字段 -> ...

随机推荐

  1. 解决android studio 文本乱码问题

    下面图片,部分字体,有一些中文字符无法显示,可选择提交保存,立即可看到效果,不喜欢就再换一个合适的字体.

  2. 浅析Python垃圾回收机制!

    Python垃圾回收机制 目录 Python垃圾回收机制 1. 内存泄露 2. Python什么时候启动垃圾回收机制? 2.1 计数引用 2.2 循环引用 问题:引用计数是0是启动垃圾回收的充要条件吗 ...

  3. Pop!_OS配置JAVA环境

    Pop!_OS配置JAVA环境 #0x0 安装vscode #0x1 安装JDK #0x2 配置vscode #0x3 安装Eclipse #0x0 安装vscode 见Pop!_OS下安装C++编程 ...

  4. flask 源码专题(一):app.run()的背后

    当我们用Flask写好一个app后, 运行app.run()表示监听指定的端口, 对收到的request运行app生成response并返回. 现在分析一下, 运行app.run()后具体发生了什么事 ...

  5. 爬虫前篇 /https协议原理剖析

    爬虫前篇 /https协议原理剖析 目录 爬虫前篇 /https协议原理剖析 1. http协议是不安全的 2. 使用对称秘钥进行数据加密 3. 动态对称秘钥和非对称秘钥 4. CA证书的应用 5. ...

  6. 数据可视化之PowerQuery篇(三)学会使用PowrQuery的自定义函数

    https://zhuanlan.zhihu.com/p/64415763 使用Power Query进行复杂一些的数据处理,离不开M函数,目前已经有超过700个函数了,基本上各式各样的数据处理需求都 ...

  7. Windows故障转移群集(WSFC)的备份和恢复

    使用wbadmin进行备份和恢复将C盘数据备份到E盘查看备份的版本以及包含的items模拟群集角色被误删除进行恢复操作检查恢复的效果 WSFC群集的备份和恢复功能是使用Windows Server B ...

  8. Shader-内轮廓自发光效果

    需求 1 基于涅菲尔反射的变形 原理 (近处的反射少,远处反射多) 1)公式(近似):F = Fscale + (1-Fscale)(1-v·n)^5 利用fresnel做边缘发光,代码 fixed ...

  9. Java应用服务器之tomcat部署

    一.相关术语简介 首先我们来了解下tomcat是什么,tomcat是apache软件基金会中的一个项目,由apache.Sun 和其他一些公司及个人共同开发而成.主要作用是提供servlet和jsp类 ...

  10. 洛谷 P5022 旅行

    今天换标题格式了,因为感觉原版实在有点别扭…… 还是直接上题板,看完题再讲吧: 对了有个小细节没说,m一定是等于n或者等于n-1的. 这题是2018年提高组的真题哦!被我肝了2天肝出来了,2天……(真 ...