python之faker的妙用

  • 欢迎来到问我的小世界
    • 安装Faker
    • 客官,硬菜来了
      • 1- 基本操作(不怎么秀)
      • 2- 地址相关
      • 3- 公司相关
      • 4- 时间相关
      • 5- 职位相关
      • 6- 证件相关
      • 7- 牌照相关
      • 8- 公银行相关
      • 9- 手机号码相关
      • 10- 条形码相关
      • 11- 颜色相关
      • 12- 信用卡相关
      • 13- 货币相关
      • 14- 坐标相关
      • 15- 网络相关
      • 16- 图书相关
      • 17- 文件相关
    • 客官,菜上齐了,您还需要点什么,可以留言哦

欢迎来到问我的小世界

在编写程序过程中,很多时候会用到数据来进行测试。如果要是手动制造数据的话,肯定要花费大把精力,这个很无所谓,发工资就行。这时faker 这个Python库可以生成各种各样的伪数据。

安装Faker

pip install Faker
(py3) G:\py_projects>pip  install faker
Requirement already satisfied: faker in g:\py_projects\py3\lib\site-packages (14.1.0)
Requirement already satisfied: python-dateutil>=2.4 in g:\py_projects\py3\lib\site-packages (from faker) (2.8.2)
Requirement already satisfied: six>=1.5 in g:\py_projects\py3\lib\site-packages (from python-dateutil>=2.4->faker) (1.16.0)
WARNING: You are using pip version 22.0.4; however, version 22.3.1 is available.
You should consider upgrading via the 'G:\py_projects\py3\Scripts\python.exe -m pip install --upgrade pip' command.

客官,硬菜来了

1- 基本操作(不怎么秀)

from faker import Faker
fake = Faker(locale='zh_CN')
name = faker.name()
add = faker.address()
print(name, add)#  自己操练执行吧(随机的名字万一和你的一样,投诉可不好喽、、、)"""
简体中文:zh_CN
繁体中文:zh_TW
美国英文:en_US
英国英文:en_GB
德文:de_DE
日文:ja_JP
韩文:ko_KR
法文:fr_FR
"""
# 这些够用了

2- 地址相关

fake.address()            # 地址
# '江西省广州县大兴苏街t座 231839'fake.building_number()    # 楼名
# 'U座'fake.city()               # 完整城市名
# '广州市'fake.city_name()          # 城市名字(不带市县)
# '广州'fake.city_suffix()        # 城市后缀名
# '市'fake.country()            # 国家名称
# '厄立特里亚'fake.country_code(representation="alpha-2")
# 'BZ'                    # 国家编号fake.district()           # 地区
# '沙湾'fake.postcode()           # 邮编
# '332991'fake.province()           # 省
# '河北省'fake.street_address()     # 街道地址
# '武汉街D座'fake.street_name()        # 街道名称
# '广州路'fake.street_suffix()      # 街道后缀名
# '路'

3- 公司相关

fake.bs()                 # 商业用词
# 'synthesize strategic vortals'fake.catch_phrase()       # 妙句(口号)
# 'Robust even-keeled service-desk'fake.company()            # 公司名称
# '富罳科技有限公司'fake.company_prefix()     # 公司名称前缀
# '商软冠联'fake.company_suffix()     # 公司名称后缀
# '网络有限公司'

4- 时间相关

fake.am_pm()        # AM或PM
# 'PM'fake.century()      # 世纪
# 'XII'fake.date(pattern="%Y-%m-%d", end_datetime=None)            # 日期字符串(可设置格式和最大日期)
# '1998-05-13'fake.date_between(start_date="-30y", end_date="today")      # 日期(可设置限定范围)
# datetime.date(2014, 8, 17)fake.date_between_dates(date_start=None, date_end=None)     # 同上
# datetime.date(2019, 10, 14)fake.date_object(end_datetime=None)                         # 日期(可设置最大日期)
# datetime.date(1981, 12, 20)fake.date_of_birth(tzinfo=None, minimum_age=0, maximum_age=115)    # 出生日期
# datetime.date(1935, 12, 8)fake.date_this_century(before_today=True, after_today=False)       # 本世纪日期
# datetime.date(2003, 5, 4)fake.date_this_decade(before_today=True, after_today=False)        # 本年代中的日期
# datetime.date(2022, 1, 29)fake.date_this_month(before_today=True, after_today=False)         # 本月中的日期
# datetime.date(2022, 10, 10)fake.date_this_year(before_today=True, after_today=False)          # 本年中的日期
# datetime.date(2022, 3, 6)fake.date_time(tzinfo=None, end_datetime=None)                     # 日期和时间
# datetime.datetime(1990, 8, 11, 22, 25)fake.date_time_ad(tzinfo=None, end_datetime=None, start_datetime=None)    # 日期和时间(从001年1月1日到现在)
# datetime.datetime(244, 12, 17, 9, 59, 56)fake.date_time_between(start_date="-30y", end_date="now", tzinfo=None)    # 日期时间(可设置限定范围)
# datetime.datetime(1990, 4, 19, 17, 23, 51)fake.date_time_between_dates(datetime_start=None, datetime_end=None, tzinfo=None)    # 同上
# datetime.datetime(2022, 10, 14, 14, 15, 36)                                  fake.date_time_this_century(before_now=True, after_now=False, tzinfo=None)     # 本世纪中的日期和时间
# datetime.datetime(2022, 8, 26, 18, 27, 9)fake.date_time_this_decade(before_now=True, after_now=False, tzinfo=None)      # 本年代中的日期和时间
# datetime.datetime(2022, 2, 24, 22, 18, 44)fake.date_time_this_month(before_now=True, after_now=False, tzinfo=None)       # 本月中的日期和时间
# datetime.datetime(2022, 10, 3, 9, 20, 44)fake.date_time_this_year(before_now=True, after_now=False, tzinfo=None)        # 本年中的日期和时间
# datetime.datetime(2019, 2, 10, 7, 3, 18)fake.day_of_month()   # 几号
# '21'fake.day_of_week()    # 星期几
# 'Tuesday'fake.future_date(end_date="+30d", tzinfo=None)        # 未来日期
# datetime.date(2019, 10, 28)fake.future_datetime(end_date="+30d", tzinfo=None)    # 未来日期和时间
# datetime.datetime(2019, 10, 28, 21, 4, 35)fake.iso8601(tzinfo=None, end_datetime=None)          # iso8601格式日期和时间
# '1990-05-10T00:45:01'fake.month()                                          # 第几月
# '11'fake.month_name()                                     # 月份名称
# 'December'fake.past_date(start_date="-30d", tzinfo=None)        # 过去日期
# datetime.date(2019, 10, 3)fake.past_datetime(start_date="-30d", tzinfo=None)    # 过去日期和时间
# datetime.datetime(2019, 9, 30, 20, 25, 43)fake.time(pattern="%H:%M:%S", end_datetime=None)      # 时间(可设置格式和最大日期时间)
# '15:35:53'fake.time_delta(end_datetime=None)                    # 时间间隔
# datetime.timedelta(0)fake.time_object(end_datetime=None)                   # 时间(可设置最大日期时间)
# datetime.time(4, 41, 39)fake.time_series(start_date="-30d", end_date="now", precision=None, distrib=None, tzinfo=None)
# <generator object Provider.time_series at 0x7fadf51e0930>fake.timezone()    # 时区
# 'Asia/Baku'fake.unix_time(end_datetime=None, start_datetime=None)    # UNIX时间戳
# 393980728fake.year()        # 某年
# '2022'

5- 职位相关

fake.job()        # 职位
# '法务助理'

6- 证件相关

fk.ssn()         #证件
# '140901****06153944'

7- 牌照相关

fake.license_plate()      # 牌照
# 'ZCO 000'

8- 公银行相关

fake.bank_country()          # 银行所属国家
# 'GB'fake.bban()                  # 基本银行账号
# 'TPET9323218579379'          fake.iban()                  # 国际银行代码
# 'GB82IRVM1531009974701'

9- 手机号码相关

fakerk.phone_number()        # 手机号码
# 158********

10- 条形码相关

fake.ean(length=13)    # EAN条形码
# '5456457843465'fake.ean13()           # EAN13条形码
# '2689789887590'fake.ean8()            # EAN8条形码
# '52227936'

11- 颜色相关

fake.color_name()        # 颜色名称
# 'Orange'fake.hex_color()         # 颜色十六进制值
# '#a5cb7c'fake.rgb_color()         # 颜色RGB值
# '15,245,42'fake.rgb_css_color()     # CSS颜色值
# 'rgb(15,70,13)'fake.safe_color_name()   # 安全色
# 'aqua'fake.safe_hex_color()    # 安全色十六进制值
# '#881100'

12- 信用卡相关

fake.credit_card_expire(start="now", end="+10y", date_format="%m/%y")    # 过期年月
# '11/20'                                                fake.credit_card_full(card_type=None)            # 完整信用卡信息
# 'VISA 16 digit\n秀珍 卢\n4653084445257690 11/19\nCVC: 935\n'fake.credit_card_number(card_type=None)          # 信用卡卡号
# '4339481813664365360'fake.credit_card_provider(card_type=None)        # 信用卡提供商
# 'VISA 19 digit'fake.credit_card_security_code(card_type=None)   # 信用卡安全码
# '597'

13- 货币相关

fake.cryptocurrency()           # 加密货币代码+名称
# ('TRX', 'TRON')fake.cryptocurrency_code()      # 加密货币代码
# 'MZC'fake.cryptocurrency_name()      # 加密货币名称
# 'Ripple'fake.currency()                 # 货币代码+名称
# ('GNF', 'Guinean franc')fake.currency_code()            # 货币代码
# 'SOS'fake.currency_name()            # 货币名称
# 'Lebanese pound'

14- 坐标相关

fake.coordinate(center=None, radius=0.001)        # 坐标
# Decimal('147.543284')fake.latitude()                                   # 纬度
# Decimal('66.519139')fake.latlng()                                     # 经纬度
# (Decimal('55.3370965'), Decimal('-15.427896'))fake.local_latlng(country_code="US", coords_only=False)    # 返回某个国家某地的经纬度
# ('25.67927', '-80.31727', 'Kendall', 'US', 'America/New_York')fake.location_on_land(coords_only=False)                   # 返回地球上某个位置的经纬度
# ('42.50729', '1.53414', 'les Escaldes', 'AD', 'Europe/Andorra')fake.longitude()                                   # 经度
# Decimal('70.815233')

15- 网络相关

fake.ascii_company_email(*args, **kwargs)        # 企业邮箱(ascii编码)
# 'qiuyan@xiulan.cn'fake.ascii_email(*args, **kwargs)                # 企业邮箱+免费邮箱(ascii编码)
# 'lei59@78.net'fake.ascii_free_email(*args, **kwargs)           # 免费邮箱(ascii编码)
# 'pcheng@gmail.com'fake.ascii_safe_email(*args, **kwargs)           # 安全邮箱(ascii编码)
# 'fangyan@example.org'fake.company_email(*args, **kwargs)              # 企业邮箱
# 'scao@pingjing.net'fake.domain_name(levels=1)                       # 域名
# 'dy.cn'fake.domain_word(*args, **kwargs)                # 二级域名
# 'gangxiuying'fake.email(*args, **kwargs)                      # 企业邮箱+免费邮箱
# 'na13@ding.cn'fake.free_email(*args, **kwargs)                 # 免费邮箱
# 'fang48@hotmail.com'fake.free_email_domain(*args, **kwargs)          # 免费邮箱域名
# 'yahoo.com'fake.hostname(*args, **kwargs)                   # 主机名
# 'lt-70.53.cn'fake.image_url(width=None, height=None)          # 图片URL
# 'https://placekitten.com/752/243'fake.ipv4(network=False, address_class=None, private=None)    # ipv4
# '160.152.149.78'fake.ipv4_network_class()                                     # ipv4网络等级
# 'b'fake.ipv4_private(network=False, address_class=None)          # 私有ipv4
# '10.99.124.57'fake.ipv4_public(network=False, address_class=None)           # 公共ipv4
# '169.120.29.235'fake.ipv6(network=False)                                      # ipv6
# 'f392:573f:d60f:9aed:2a4c:36d7:fe5b:7034'fake.mac_address()                            # MAC地址
# '62:67:79:8c:c2:40'fake.safe_email(*args, **kwargs)              # 安全邮箱
# 'jing58@example.org'fake.slug(*args, **kwargs)                    # URL中的slug
# ''fake.tld()                                    # 顶级域名
# 'cn'fake.uri()                                    # URI
# 'http://yi.com/list/main/explore/register.php'fake.uri_extension()                          # URI扩展
# '.php'fake.uri_page()                               # URI页
# 'terms'fake.uri_path(deep=None)                      # URI路径
# 'blog/tags/blog'fake.url(schemes=None)                        # URL
# 'http://liutao.cn/'fake.user_name(*args, **kwargs)               # 用户名
# 'xiulan80'

16- 图书相关

fake.isbn10(separator="-")        # ISBN-10图书编号
# '0-588-73943-X'fake.isbn13(separator="-")        # ISBN-13图书编号
# '978-1-116-51399-8'

17- 文件相关

fake.paragraph(nb_sentences=3, variable_nb_sentences=True, ext_word_list=None)    # 单个段落
# '最新事情生产.方面解决名称责任而且.类型其实内容发生电脑.音乐具有今年是一.'fake.paragraphs(nb=3, ext_word_list=None)                                         # 多个段落
# ['使用评论管理.没有广告工作评论是否.', '帖子而且专业.这些比较完全发现准备设计工具.', '完成详细发生空间汽车.新闻电影您的游戏这种操作网站知道.']fake.sentence(nb_words=6, variable_nb_words=True, ext_word_list=None)    # 单个句子
# '直接这样点击单位对于时候.'fake.sentences(nb=3, ext_word_list=None)                                 # 多个句子
# ['电话国际项目管理.', '软件之后提高一样次数电影规定.', '东西会员发展什么不断经济.']fake.text(max_nb_chars=200, ext_word_list=None)                         # 多个文本
#   ['主题作者不能.进行国家系统地区增加.经验质量价格我的.']
# ('资源信息得到因此开发资源资料.\n'
#  '国家这样等级需要用户如此.电话非常一切游戏所以学校类型.不要正在如果来源认为投资在线.\n'
#  '这些更新密码其中起来实现有些.以上事情重要通过.\n' fake.word(ext_word_list=None)                                            # 单个词语
# '新闻'fake.words(nb=3, ext_word_list=None, unique=False)                       # 多个词语
# ['选择', '历史', '规定']

客官,菜上齐了,您还需要点什么,可以留言哦

Faker的妙用---造数相关推荐

  1. python造数神器-Faker库

    在测试过程中,大家肯定会遇到一个很有意思的问题 -- 如何优雅的快速的造数?大部分人起名字都是张三.李四.王五.赵六之类的,或者会用一些自己喜欢的人物,作品,但是遇到需要批量生成测试数据时,起名字等造 ...

  2. 造数神器 python-faker

    造数神器 python-faker faker简介 项目测试时,为了测试常需要造假数据,经常要尽量的模拟真实环境,通常要费大量手工而且造出来的数据,而且通常手工造出来的看起来也很别扭,费时又费事,有没 ...

  3. DataFactory造数-前期准备工作(DF安装、myodbc32的安装与配置、Oracle客户端的安装与配置)

    一.DataFactory的安装 具体步骤稍后补充 二.准备工作 造数-mysql数据库 1.下载安装myodbc32驱动 PS:若安装的DataFactory是较低版本,则myodbc32也应选择较 ...

  4. jmeter连接数据库查询获取多个参数, 并通过参数化传值,实现jmeter造数

    场景: 通过查询数据库, 获取多个参数, 比把这些参数循环插入数据库, 实现jmeter造数 一.数据库连接JDBC驱动下载 我用的是mysql数据库,所以安装时用的mysql-connector-j ...

  5. 【存储过程造数mysql】

    存储过程造数mysql DELIMITER // -- 还是声明分隔符 DROP PROCEDURE IF EXISTS `batch_insert`; -- 若存储过程存在,则删除 CREATE P ...

  6. Python批量造数并利用pymysql写入到数据库之multiprocessing多进程、threading多线程实现方式(学习笔记)

    1.导包 import random import string import pymysql import time import multiprocessing # multiprocessing ...

  7. 数据采集之测试数据的造数

    目录 0 环境准备: 1 软件环境的搭建 1.1 jdk的安装 1.2 scala的安装 1.3 hadoop的安装 1.4 KAFKA的安装 1.5 elastocsearch的安装 1.6 red ...

  8. 使用Lim测试平台快速完成批量造数

    一.前言 在我们平时的测试过程中,经常遇到需要造大量数据的情况,比如:测试分页功能,性能压测.数据准备等. 这时我们可以通过写脚本或jmeter这类的工具来实现,但这些方式在团队协作的时候并不友好,当 ...

  9. Jmeter向数据库批量造数

    1.Jmeter详细安装教程测试工具JMeter详细安装配置教程(保证一次安装成功)_jmeter安装_Bella_7的博客-CSDN博客 2.Jdbc插件下载Jmeter连接数据库插件 mysql- ...

最新文章

  1. Kubernetes 笔记 01 初识 Kubernetes 新时代的领航者
  2. poj 1088滑雪
  3. TreeView Checkbox选中
  4. 文献记录(part65)--基于用户聚类的异构社交网络推荐算法
  5. .net core MongoDB 初试
  6. Java 0xffffffff隐式类型转换的坑
  7. 【Python学习】 - sklearn学习 - 自带数据集sklearn.datasets.x
  8. matlab是那个国家,这是一个老外写的利用曲率来识别硬币的MATLAB程序。作者所在国家的硬币偏黄色,拍摄的时候反光比较少...
  9. React简介、虚拟DOM、Diff算法、创建React项目、JSX语法、组件、组件声明方式、组件传值props和state、组件的生命周期
  10. Python练习:阶乘累计求和
  11. java se面试题_Java SE 8面试问答(第1部分)
  12. 通过计划任务使FlashFXP在晚上自动下载备份
  13. Linux常用命令的缩写含义
  14. 怎么训练 GAN 网络
  15. rⅰd的意思_自动挡车上的P、R、N、D、L代表什么意思?老司机也搞晕了!
  16. 重阳节,让我们祝天下的老年人生活幸福快乐。
  17. 好的网站好的论坛社区
  18. 2016android市场占有率,Newzoo:2016年国内手游收入近100亿美元(附国内五大安卓渠道装机率)...
  19. 不独立 ≠ 不相关 (Independent ≠ Uncorrelated)
  20. 黄冈职业技术学院学计算机好就业吗,黄冈职业技术学院怎么样?王牌专业有哪些?...

热门文章

  1. Java工程师如何做好职业规划和成长路线?
  2. 5个高清图片素材网站,免费商用,赶紧收藏~
  3. 百度网盘加速无限试用_单次付费来了!百度网盘推出3元/5分钟加速下载服务
  4. 微信支付签名失败(几种解决方案)
  5. 有的QQ临时会话要求加好友
  6. 玉米社:竞价推广关键词出价原则,注意这几点!
  7. 苹果笔记本这样处理不易被套路
  8. C语言 入门教程||C语言 指针||C语言 字符串
  9. 众筹时代 - Web众筹平台
  10. ffmpeg将ogg和wav格式转化为mp3