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. EntityFrameworkCore 开发实践问题及规范

    严重问题 客户端求值 如where条件包含的GetValueOrDefault()不能被翻译成sql语句 不规范代码段例子 public async Task<List<Person> ...

  2. if-else和三目运算符 ? : 的对比

    今天的地铁思考让我想起一个之前学C语言的时候一直没有验证的事情:既生瑜何生亮? 平时写代码的时候,似乎并没有太多的关注我应该选用什么条件判断语句,感觉判断条件或者两条支路语句复杂就本能地if-else ...

  3. gvim使用总结

    我的gvim配置 set nocompatible " 关闭vi兼容 " 显示相关 set go= set number set cursorline set nowrap set ...

  4. 010.Nginx正反代理

    一 Nginx代理 1.1 Nginx代理概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器.同时也是一个IMAP.POP3.SMTP代理服务器.nginx可以作为一个HTT ...

  5. 少儿编程:python趣味编程第一课

    本文仅针对8-16岁的青少年,所以流程是按如何去教好中小学生走的,并不适合成人找工作学习,因为进度也是按照青少年走的 大家好,我是C大叔,从事少儿编程行业三年有余(2016年从事少儿编程行业,少儿编程 ...

  6. 【原创】linux设备模型之kset/kobj/ktype分析

    背 景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本 ...

  7. 疑难杂症1-去掉网站里的特殊编码&#65279

    编辑器:Visual Studio 2019项目框架:Net Core 3.1 + AutoFac 特殊符号&#65279,这是编码UTF-8 + BOM的特殊标记,是隐藏的,但是会被浏览器翻 ...

  8. django-rest-framework-源码解析004-三大验证(认证/权限/限流)

    三大验证模块概述 在DRF的APIView重写的dispatch方法中,  self.initial(request, *args, **kwargs) 这句话就是执行三大验证的逻辑, 点进去可以看到 ...

  9. ThreadLocal 原理

    ThreadLocal是什么 ThreadLocal是一个本地线程副本变量工具类.主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用, ...

  10. 我在 GitHub 上发现了一款骚气满满的字体!

    本文转自量子位,作者栗体,如有侵权,则可删除. github字体 这个字体叫 Leon Sans,表面看去平平无奇. 但事实上,它并不是普通的字体,体内蕴藏着魔力. github字体1 Leon Sa ...