python 学习 ---faker 造数据

发布于 更新于
本文目录
  1. 一、faker安装
  2. 二、使用
  3. 模块导入
  4. 创建实例
  5. 常用方法
  6. 随机年
  7. 随机月
  8. 高级用法

技术文章测试开发

pip install faker

一、faker安装

pip install faker

二、使用

  • 模块导入

    from faker import Faker

  • 创建实例

    fk = Faker(locale='zh-CN')

    • 参数

      • use_weighting:指定是否尝试使值的频率与真实世界的频率相匹配

      • locale='zh-CN':语言环境,默认的en_US语言环境,支持传多个 ['ja_JP','en_US','zh-CN']

  • 常用方法

    • 四要素

      • 姓名 name = fk.name()

      • 身份证 id_card = fk.ssn()

      • 手机号 phone = fk.phone_number()

      • 银行卡(信用卡) card = fk.credit_card_number()

    • 个人其他信息

      • 地址(带邮编) addr = fk.address()

      • 国家名称 country = fk.country()

      • 省 city = fk.province()

      • 城市 city = fk.city()

      • 邮编 post_code = fk.postcode()

      • 邮箱

        • 个人邮箱 email = fk.email()

        • 公司邮箱 company_email = fk.company_email()

      • 公司名称 company_name = fk.company()

      • 工作岗位 job = fk.job()

    • 完整个人信息

      • 生成复杂人物信息

        • fk.profile(fields=None, sex=None)

      • 生成简单人物信息

        • fk.simple_profile(sex=None)

    • 随机数 num = fk.random_int(min=1000,max=9999)

    • 文本类

      • 随机字符串 str = fk.pystr()

      • 随机生成词语 word = fk.word()

      • 随机生成多个词语,返回list word_list = fk.words()

      • 随机生成一句话 sentence = fk.sentence()

      • 随机生成多句话,返回list sentence_list = fk.sentences()

      • 随机生成多个段落,通过参数nb来控制段落数,返回list paragraphs_list = fk.paragraphs(nb=2)

      • 随机生成一篇文章 text = fk.text()

    • 时间类

      • 随机时间

        • 格式:年-月-日# 范围:从1970 到当前时间 date = fk.date()# 范围:当前年份 date = fk.date_this_year()# 范围:当前月份 date = fk.date_this_month()

        • 格式:年-月-日 时:分:秒,范围:从1970 到当前时间# 范围:从1970 到当前时间 date_time = fk.date_time()

      • 随机年/月

        随机年

        year = fk.year()

        随机月

        mouth = fk.mouth()

      • 指定时间范围

        • 格式:年-月-日 date = fk.date_between(start_date='-1y',end_date='today') 参数

          • start_date='-1y'

            • -1y:一年前

            • -1m:一个月前

          • end_date='today'

            • today:今天

            • -1y:一年前

            • -1m:一个月前

          注意点

          • 参数传字符串

          • 开始时间必须小于结束时间

        • 格式:年-月-日 时:分:秒 date_time = fk.date_time_between(start_date='-3y',end_date='-2y') 参数

          • start_date='-1y'

            • -1y:一年前

            • -1m:一个月前

          • end_date='today'

            • today:今天

            • -1y:一年前

            • -1m:一个月前

          注意点

          • 参数传字符串

          • 开始时间必须小于结束时间

      • 未来时间

        • 格式:年-月-日 future_data = fk.future_date()

        • 格式:年-月-日 时:分:秒 future_date_time = fk.future_datetime()

        时区 time_zone = fk.timezone()

      • 时间戳 unix_time = fk.unix_time()

    • 网络信息

      • 用户名 user_name = fk.user_name()

      • 密码 passwd = fk.password()

    • 浏览器信息(user_agent)

      • fk.firefox():随机生成FireFox浏览器user_agent信息

      • fk.chrome():随机生成Chrome浏览器user_agent信息

      • fk.internet_explorer():随机生成IE浏览器user_agent信息

      • fk.opera():随机生成欧朋浏览器user_agent信息

      • fk.safari():随机生成Safari浏览器user_agent信息

    • 手机信息

      • android android_info = fk.android_platform_token()

      • ios ios_info = fk.ios_platform_token()

    • 操作系统

      • fk.windows_platform_token():windows信息

      • fk.linux_platform_token():linux信息

      • fk.mac_platform_token():macbook信息

  • 高级用法

    • 确保随机数据唯一性

      • fk.unique.方法名() [fk.unique.name() for i in range(10)]

    • 共享随机数

      • Faker类有一个类方法(seed),支持给生成器设置参数Generator.seed(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())

来源:testingpai

继续阅读