造数据神器Faker,一个有趣又实用的Python第三方库
数据,神器,Faker,一个,有趣,实用,Python,第三方
2025-03-13 21:27:17 时间
“阅读本文大概需要4分钟。
你好,我是测试蔡坨坨。
众所周知,Python语法简洁,功能强大,通过简单的代码就能实现许多实用的功能,上到人工智能,下到少儿编程,很大原因得益于它有强大的标准库以及非常丰富的第三方库,有很多现成的轮子可以用。
今天,分享一个有趣又实用的Python第三方库,造数据神器Faker。
前言
在日常测试工作中,少不了造数据,你的测试数据是不是长这样呢?
test
test1
aaa
这是一段文字
这是一段很长长长长长长长长长长长长长长长长长长长长长长长长长长长长的数据
随机数据不知道怎么生成,用尽毕生所学,瞬间感觉江郎才尽。
再者说,人的大脑是有限的,而我们的世界是无限的,当我们需要生成测试数据时,往往会按照我们的标准数据生成,也就是生成的数据并不完全随机,而是按照我们的固定模式生成。有没有办法能按照相对随机的方式生成数据呢?
有了Faker,就能轻松帮我们创造一些看似真实的“假数据”,是一款非常好用的数据生成神器。
安装
官网:https://faker.readthedocs.io
pip3 install faker
Faker 对象初始化
from faker import Faker
faker = Faker()
# 姓名、邮箱、地址、长文本
print("name:", faker.name())
print("email:", faker.email())
print("address:", faker.address())
print("text:", faker.text())
print("state", faker.state())
多语言多区域支持
例如:zh_CN(简体中文)、zh_TW(繁体中文)、zh_TW(台湾)、en_US(美国英文)、en_GB(英国英文)、de_DE(德文)、ja_JP(日文)、ko_KR(韩文)、fr_FR(法文)……
faker_zh = Faker("zh_CN")
需要注意的是不同区域下的方法并不是完全一致的,比如中国有省的概念 faker_zh.province(),而美国就没有省的概念,可能就是州 faker_zh.state(),因此在美国的区域下用province()就会报错
常用方法
# 中国区域 人物相关
# 姓名相关
print("姓名:", faker_zh.name())
print("女性姓名:", faker_zh.name_female())
print("男性姓名:", faker_zh.name_male())
print("男性名:", faker_zh.first_name_male())
print("男性姓:", faker_zh.last_name_male())
print("罗马名:", faker_zh.romanized_name())
# 联系方式
print("邮箱:", faker_zh.email())
print("手机号:", faker_zh.phone_number())
print("手机号段:", faker_zh.phonenumber_prefix())
# 身份
print("身份证号:", faker_zh.ssn())
# 公司
print("公司名称(长):", faker_zh.company()) # 快讯网络有限公司
print("公司名称(短):", faker_zh.company_prefix()) # 快讯
print("公司性质:", faker_zh.company_suffix()) # 网络有限公司
print("职位:", faker_zh.job())
print("信用卡号:", faker_zh.credit_card_number())
print("信用卡到期日:", faker_zh.credit_card_expire())
print("信用卡信息:", faker_zh.credit_card_full())
print("信用卡信息:", faker_zh.credit_card_full())
print("信用卡类型:", faker_zh.credit_card_provider())
# 网络信息
print("域名:", faker_zh.domain_name())
print("url:", faker_zh.url())
# 浏览器信息
print("谷歌浏览器user_agent信息:", faker_zh.chrome()) # 在做接口测试时请求头经常需要传一个user_agent
print("火狐浏览器user_agent信息:", faker_zh.firefox())
print("user_agent信息:", faker_zh.user_agent())
# 文件信息
print("文件扩展名:", faker_zh.file_extension()) # mp4
print("文件名(包含扩展名):", faker_zh.file_name()) # 图片.bmp
print("文件路径:", faker_zh.file_path())
print("随机mime type:", faker_zh.mime_type())
# 随机数
print("三位随机数:", faker_zh.numerify())
print("0-9随机数:", faker_zh.random_digit())
print("1-9随机数:", faker_zh.random_digit_not_null())
print("随机数,默认0-9999,可以设置min、max:", faker_zh.random_int()) # random_int(50, 100)
print("随机数字,参数digits可以设置位数:", faker_zh.random_number(8))
print("浮点数:", faker_zh.pyfloat(left_digits=5, right_digits=2, positive=True)) # 69156.22 positive是否只有正数
print("decimal:", faker_zh.pydecimal(left_digits=5, right_digits=2, positive=True))
# 文本类型
print("随机字符串:", faker_zh.pystr())
print("随机词语:", faker_zh.word())
print("随机文章(虽然至今没有一句能看懂什么意思):", faker_zh.text())
print("随机uudi:", faker_zh.uuid4())
# 随机日期
print("随机生成指定范围内的日期:", faker_zh.date_between())
# 档案信息
print("档案信息:", faker_zh.profile())
print("档案信息(简单):", faker_zh.simple_profile())
# 中国区域 地理信息
print("市/县:", faker_zh.city_suffix())
print("国家:", faker_zh.country())
print("国家编码:", faker_zh.country_code())
print("区:", faker_zh.district())
print("详细地址:", faker_zh.address())
print("地理坐标:", faker_zh.coordinate())
print("纬度:", faker_zh.latitude())
print("经度:", faker_zh.longitude())
print("邮编:", faker_zh.postcode())
print("街道地址:", faker_zh.street_address())
print("街道名:", faker_zh.street_name())
print("街/路:", faker_zh.street_suffix()
以上,完。
脚踏实地,仰望星空,和坨坨一起学习软件测试,升职加薪!
相关文章
- 使用python进行词频分析
- pycharm执行代码快捷键_python 函数调用
- 一对兔子从出生后第三个月起每个月_兔子繁衍问题python
- pycharm python安装教程_python环境安装教程
- python怎么安装matplotlib.pyplot_python安装matplotlib模块
- python详细安装教程环境配置_Python配置环境
- python flask debug_pycharm配置debug
- Python进阶39-drf框架(一)
- pycharm提示no python interpreter_pycharm failed to create virtual
- 更新pycharm版本_pycharm怎么更改python环境
- Python基础07-函数
- 20·Python基础-单例模式四种实现方式
- pycharm里python打包成exe_pycharm 将python文件打包为exe格式的方法[通俗易懂]
- pycharm调试python_pycharm调试快捷键
- Python面试基础知识_python自学需要哪些基础知识
- pycharm选中一行代码快捷键_python代码自动对齐
- 二级Python选择题_二级python选择题题库
- 使用Python验证并利用Redis未授权漏洞
- pycharm如何安装python环境_pycharm怎么安装「建议收藏」
- Python 模板渲染库 yaml 和 jinja2 的实战经验分享