python-faker库使用

一、faker库简介

在编写程序过程中,我们常常需要用到很多数据来进行测试。
如果要是手动制造数据的话,肯定要花费大把精力,这不合理。
此时我们应该使用Faker这个Python库,用它来生成各种各样的伪数据。

二、faker库安装

pip install faker

三、faker库使用
1、四要素

1、姓名
2、身份证
3、手机号
4、银行卡

# 1、姓名
fk = Faker(locale="zh-CN")
name = fk.name()
print(name)  # 陈洋

# 2、身份证
card = fk.ssn()
print(card)

# 3、手机号(停止发短信的功能)
phone = fk.phone_number()
print(phone)

# 4、银行卡
card_number = fk.credit_card_number()
print(card_number)

祁欣
130902199911290750
13547916327
374285180723723

2、个人信息

# 初始化
fk = Faker(locale="zh-CN")
# 1、带邮政编码的地址
addr = fk.address()
print(addr)  # 辽宁省张家港县怀柔赵街d座 192553

# 2、 获取公司名称
compancy = fk.company()
print(compancy) # 彩虹网络有限公司

# 3、邮箱
email = fk.email()
print(email) # naluo@io.cn

# 4、获取职称
job = fk.job()
print(job)  # 艺术/设计

# 5、获取城市
city = fk.city()
print(city) # 淮安市
# 6、获取国家
country = fk.country()
print(country) # 苏里南

# 7、获取省份
province = fk.province()
print(province)  # 内蒙古自治区

#8、获取简单的人物信息
info = fk.simple_profile()
print(info)
{'username': 'taoming', 'name': '陈莹', 'sex': 'M', 'address': '澳门特别行政区兰州市西峰马鞍山路C座 988104', 'mail': 'chao75@yahoo.com', 'birthdate': datetime.date(1980, 1, 22)}

per = fk.profile()
print(per)

{'job': '物流经理', 'company': '海创网络有限公司', 'ssn': '430203195212241619', 'residence': '河南省芳市孝南高路t座 388651', 'current_location': (Decimal('-41.2411995'), Decimal('154.458583')), 'blood_group': 'O+', 'website': ['https://www.tb.cn/'], 'username': 'qiangsong', 'name': '周桂荣', 'sex': 'M', 'address': '北京市潜江市西峰天津路v座 486340', 'mail': 'na08@hotmail.com', 'birthdate': datetime.date(1995, 6, 15)}

3、文本类

# 1、生成英文的字符串
pystring = fk.pystr()
print(pystring) # TbXamiNaLAfSruNBRVqG

# 2、生成词语
word = fk.word()
print(word) # 设备

# 3、生成一篇文章
text = fk.text()
print(text)
客户有限无法销售.一下国内关于一次控制.手机网站部门市场进行详细.
法律有关登录介绍都是一个她的.
只有地方用户发表原因之后.只有虽然项目工程之间地区但是.
精华今年一个解决不要类型应该.用户信息电脑论坛决定中国其他联系.已经名称其中所以有些是否这是.不是状态会员游戏.
数据一般之后.不会软件需要一切主题这个积分.名称决定一个那个科技孩子.
显示是一有限那么提供生产.发布可能运行更新最后.

# 4、生成一个随机数
random_num = fk.random_int(min=1, max=999)
print(random_num) # 637

4、日期

# 1、获取年份
year = fk.year()
print(year) # 2004

#2、 获取月份
month = fk.month()
print(month) # 12

# 3、获取日期
date = fk.date()
print(date) # 2018-06-11

# 4、获取当前年份:年月日
now = fk.date_this_year()
print(now) # 2022-01-01

# 5、获取:年月日时分秒
this_time = fk.date_time()
print(this_time) # 1972-11-08 22:30:30

# 6、自定义年月日格式 年月日 时分秒
res1 = fk.date_time_between(start_date="-3y", end_date="-1y")
print(res1) # 2019-06-17 16:43:42

# 7、自定义时间范围,3年前到1年前之间的 
res2 = fk.date_between(start_date="-3y", end_date="-1y")
print(res2) # 2019-08-01

# 8、获取未来时间 年月日
future1 = fk.future_date()
print(future1) # 2022-02-01
# 9、获取未来时间,年月日 时分秒
future2 = fk.future_datetime()
print(future2) # 2022-02-04 13:14:24

5、生成不重复的数据

# 生成的数据不重复, 用于批量处理数据
this_name = fk.name()
name_list = [fk.unique.name() for i in range(10)]

print(name_list) 
['霍淑珍', '原英', '程建平', '覃红', '孙杰', '封宁', '赵桂英', '马秀荣', '谭柳', '邢玉华']

6、实现数据共享

数据共享:通过seed保持数据一致

from faker import Faker


class Test:
    def __init__(self):
        self.fk = Faker(locale="zh-CN")

    def test01(self):
        Faker.seed(1111)
        print(self.fk.name())

    def test02(self):
        Faker.seed(1111)
        print(self.fk.name())


if __name__ == '__main__':
    cl = Test()
    cl.test01()
    cl.test02()

张建
张建

  • 23
    点赞
  • 141
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值