python中faker模块详解

本文介绍了Python的Faker库,用于生成各种类型的假数据,如姓名、地址、电话号码等,以满足软件开发和测试的需求。通过简单易用的API,开发者可以快速构建测试数据,提高效率,避免手动输入错误。文章还涵盖了Faker的安装、基本用法、常用函数和实际应用场景。
摘要由CSDN通过智能技术生成

1、背景

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

这时候,人们常常为了偷懒快捷,测试数据大多数可能是类似这样子的:

测试, 1300000 000123456
张三, 1310000 000123456
李四, 1320000 000234567
王五, 1330000 000345678

测试数据中包括了大量的“测试XX”,要么就是随手在键盘上一顿乱敲,都是些无意义的假数据。

你是不是这样做的呢?坦白的说,有过一段时间,笔者偶尔也是这么干的。

但是,细想一下,这样的测试数据,不仅要自己手动敲,还假的不能再假,浪费时间、浪费人力、数据价值低。

而且,部分数据的手工制造还无法保障:比如UUID类数据、MD5、SHA加密类数据等。

为了帮助大家解决这个问题,更多还是提供种一种解决方案或思路,今天给大家分享一款Python造数据利器:Faker库,利用它可以生成一批各种各样的看起来“像真的一样”的假数据。

2. Faker介绍 、安装

2.1 Faker是什么

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

项目地址:

https://github.com/joke2k/faker

2.2 安装

安装 Faker 很简单,使用 pip 方式安装:

pip install Faker

3. Faker常用使用

3.1 基本用法

Faker 的使用也是很简单的,从 faker 模块中导入类,然后实例化这个类,就可以调用方法使用了:

from faker import Faker

fake = Faker()
name = fake.name()
address = fake.address()
print(name)
print(address)
# 输出信息
Ashley Love
074 Lee Village Suite 464
Dawnborough, RI 44234

这里我们造了一个名字和一个地址,由于 Faker 默认是英文数据,所以如果我们需要造其他语言的数据,可以使用 locale参数,例如:

from faker import Faker

fake = Faker(locale='zh_CN')
name = fake.name()
address = fake.address()
print(name)
print(address)
# 输出信息
张艳
海南省上海市朝阳邱路y座 175208
是不是看起来还不错,但是有一点需要注意,这里的地址并不是真实的地址,而是随机组合出来的,也就是将省、市、道路之类的随机组合在一起。

这里介绍几个比较常见的语言代号:

简体中文:zh_CN
繁体中文:zh_TW
美国英文:en_US
英国英文:en_GB
德文:de_DE
日文:ja_JP
韩文:ko_KR
法文:fr_FR
#例如将语言修改为繁体中文
fake = Faker(locale='zh_TW')

#输出信息为:
楊志宏
100 中壢博愛街109

3.2 常用函数

除了上述介绍的fake.name和fake.address生成姓名和地址两个函数外,常用的faker函数按类别划分有如下一些常用方法。

(1)地理信息类

fake.city_suffix():市,县
fake.country():国家
fake.country_code():国家编码
fake.district():区
fake.geo_coordinate():地理坐标
fake.latitude():地理坐标(纬度)
fake.longitude():地理坐标(经度)
fake.postcode():邮编
fake.province():省份
fake.address():详细地址
fake.street_address():街道地址
fake.street_name():街道名
fake.street_suffix():街、路

(2)基础信息类

ssn():生成身份证号
bs():随机公司服务名
company():随机公司名(长)
company_prefix():随机公司名(短)
company_suffix():公司性质
credit_card_expire():随机信用卡到期日
credit_card_full():生成完整信用卡信息
credit_card_number()
  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值