• 通过 Python_Faker 生成测试数据


    通过 Python_Faker 生成测试数据


    一.介绍

    在软件需求、开发、测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,你不可能通过手工来生成(最傻的方法)可能需要花费大量精力和工作量, Faker 包能够协助你完成这方面的工作。
    

    Faker 是一个 Python 包,开源的 GITHUB 项目,主要用来创建伪数据。

    二.安装

    1. 通过 pip 直接安装:
    [root@BenLam-vm_0 ~]# pip install faker
    
    1. 下载源码安装:
    [root@BenLam-vm_0 ~]# git clone https://github.com/joke2k/faker
    done~
    [root@BenLam-vm_0 ~]# cd faker
    [root@BenLam-vm_0 ~]# python setup.py install
    install done~
    [root@BenLam-vm_0 ~]# 
    

    三.例子

    from faker import Faker
    
    fake=Faker(locale='zh_CN') # 默认为 en_US
    
    # 邮政编码
    print("邮政编码".center(20,"-"))
    print(fake.postcode()) # 邮编
    
    # 地址类
    print("地址类".center(20,"-"))
    print(fake.address()) # 湖南省想县沈河阜新街C座 604896
    print(fake.street_address()) # 邓路J座
    print(fake.street_name()) #马鞍山路
    print(fake.city_name(),fake.city()) # 大冶 马鞍山县
    print(fake.province()) #贵州省
    
    #公司类:
    print("公司类".center(20,"-"))
    print(fake.company())#商软冠联科技有限公司
    print(fake.company_suffix())#信息有限公司
    print(fake.company_prefix())#天开
    
    #个人信息类
    print("个人信息类".center(20,"-"))
    print(fake.name())#傅淑华
    print(fake.simple_profile()) # {'username': 'mengming', 'name': '徐秀云', 'sex': 'M', 'address': '安徽省玉兰县东城乌鲁木齐路w座 117935', 'mail': 'chao09@gmail.com', 'birthdate': datetime.date(1976, 8, 6)}
    print(fake.user_name(),fake.password(special_chars=False)) #qiang66 yd7TgJkSvX
    
    #文章类
    print("文章类".center(20,"-"))
    print(fake.word())#中国
    print(fake.words(3))#['北京', '参加', '因为']
    print(fake.sentence(3))#而且.
    print(fake.paragraph())#人企业学校阅读能够现在其他.以下关于查看
    

    打印结果:

    --------邮政编码--------
    621325
    --------地址类---------
    海南省燕市朝阳武汉路G座 856051
    沈阳路K座
    张街
    长沙 佳市
    宁夏回族自治区
    --------公司类---------
    凌颖信息信息有限公司
    科技有限公司
    快讯
    -------个人信息类--------
    李秀荣
    {'username': 'suchao', 'name': '杨帆', 'sex': 'M', 'address': '青海省慧县徐汇济南路w座 991385', 'mail': 'etang@gmail.com', 'birthdate': datetime.date(2001, 1, 8)}
    opan 1NFlibRcvO
    --------文章类---------
    今天
    ['功能', '报告', '密码']
    一个需要.
    那些这是或者.如此全部电子一些起来这里.
    [Finished in 0.5s]
    

    四.常用方法

    常用方法与中文解释

    city_suffix():市,县
    country():国家
    country_code():国家编码
    district():区
    geo_coordinate():地理坐标
    latitude():地理坐标(纬度)
    longitude():地理坐标(经度)
    lexify():替换所有问号(“?”)带有随机字母的事件。
    numerify():三位随机数字
    postcode():邮编
    province():省份
    street_address():街道地址
    street_name():街道名
    street_suffix():街、路
    random_digit():0~9随机数
    random_digit_not_null():1~9的随机数
    random_element():随机字母
    random_int():随机数字,默认0~9999,可以通过设置min,max来设置
    random_letter():随机字母
    random_number():随机数字,参数digits设置生成的数字位数
    color_name():随机颜色名
    hex_color():随机HEX颜色
    rgb_color():随机RGB颜色
    safe_color_name():随机安全色名
    safe_hex_color():随机安全HEX颜色
    bs():随机公司服务名
    company():随机公司名(长)
    company_prefix():随机公司名(短)
    company_suffix():公司性质
    credit_card_expire():随机信用卡到期日
    credit_card_full():生成完整信用卡信息
    credit_card_number():信用卡号
    credit_card_provider():信用卡类型
    credit_card_security_code():信用卡安全码
    currency_code():货币编码
    am_pm():AM/PM
    century():随机世纪
    date():随机日期
    date_between():随机生成指定范围内日期,参数:start_date,end_date取值:具体日期或者today,-30d,-30y类似
    date_between_dates():随机生成指定范围内日期,用法同上
    date_object():随机生产从1970-1-1到指定日期的随机日期。
    date_this_month():
    date_this_year():
    date_time():随机生成指定时间(1970年1月1日至今)
    date_time_ad():生成公元1年到现在的随机时间
    date_time_between():用法同
    datesfuture_date():未来日期
    future_datetime():未来时间
    month():随机月份
    month_name():随机月份(英文)
    past_date():随机生成已经过去的日期
    past_datetime():随机生成已经过去的时间
    time():随机24小时时间
    timedelta():随机获取时间差
    time_object():随机24小时时间,time对象
    time_series():随机TimeSeries对象
    timezone():随机时区
    unix_time():随机Unix时间
    year():随机年份
    file_extension():随机文件扩展名
    file_name():随机文件名(包含扩展名,不包含路径)
    file_path():随机文件路径(包含文件名,扩展名)
    mime_type():随机mime Type
    ascii_company_email():随机ASCII公司邮箱名
    ascii_email():随机ASCII邮箱
    domain_name():生成域名
    domain_word():域词(即,不包含后缀)
    email():
    free_email():
    free_email_domain():
    f.safe_email():安全邮箱
    f.image_url():随机URL地址
    ipv4():随机IP4地址
    ipv6():随机IP6地址
    mac_address():随机MAC地址
    tld():网址域名后缀(.com,.net.cn,等等,不包括.)
    uri():随机URI地址
    uri_extension():网址文件后缀
    uri_page():网址文件(不包含后缀)
    uri_path():网址文件路径(不包含文件名)
    url():随机URL地址
    user_name():随机用户名
    isbn10():随机ISBN(10位)
    isbn13():随机ISBN(13位)
    job():随机职位
    paragraph():随机生成一个段落
    paragraphs():随机生成多个段落,通过参数nb来控制段落数,返回数组
    sentence():随机生成一句话
    sentences():随机生成多句话,与段落类似
    text():随机生成一篇文章(不要幻想着人工智能了,至今没完全看懂一句话是什么意思)
    word():随机生成词语
    words():随机生成多个词语,用法与段落,句子,类似
    binary():随机生成二进制编码
    boolean():True/False
    language_code():随机生成两位语言编码
    locale():随机生成语言/国际 信息
    md5():随机生成MD5
    null_boolean():NULL/True/False
    password():随机生成密码,可选参数:length:密码长度;special_chars:是否能使用特殊字符;digits:是否包含数字;upper_case:是否包含大写字母;lower_case:是否包含小写字母
    sha1():随机
    SHA1sha256():随机
    SHA256uuid4():随机UUID
    first_name():人名
    first_name_female():女性名
    first_name_male():男性名
    first_romanized_name():罗马名
    last_name_female():女姓
    last_name_male():男姓
    name():随机生成全名
    name_female():男性全名
    name_male():女性全名
    romanized_name():罗马名
    msisdn():移动台国际用户识别码,即移动用户的ISDN号码
    phone_number():随机生成手机号
    phonenumber_prefix():随机生成手机号段
    profile():随机生成档案信息
    simple_profile():随机生成简单档案信息
    
    作者:GI-JOE
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Windows 服务多语言化时读取配置文件失败的问题。
    从开始界面卸载Windows服务时,不小心点击了 取消,此后再次卸载会卸载不掉
    从数据库导出数据时,有的字段是时间,不同的时间向在窗口中去掉时用正则表达式匹配找到不同的时间
    C#使用ManagementObjectSearcher来获取系统信息时会有out of memory的异常
    C# TreeView设置SelectedNode设置无效的问题
    C#判断ListBox是否显示了水平滚动条/横向滚动条
    Jmeter运行不显示cmd对话框
    监控Linux系统所选的服务所占进程内存占用
    Linux的date用法
    shell的循环嵌套语法
  • 原文地址:https://www.cnblogs.com/BenLam/p/10442544.html
Copyright © 2020-2023  润新知