【学习笔记】Python_Faker,制造测试数据的第三方库,创建姓名、手机、电话、浏览器头、时间、地址等

【关键词】

关键字:dir(fake),fake库默认支持的关键词,fake库也可以支持自定义。

print("\n----faker关键词----")
print(f"长度:{len(dir(fake))}")
for key in dir(fake):
    if (dir(fake).index(key)+1) % 10 != 0:
        print(key, end=",")
    else:
        print(key)

【测试代码】

from faker import Faker
from faker.providers import BaseProvider

# ----创建自定义Provider----
class CustomProvider(BaseProvider):
    def customize_type(self):
        return 'test_Faker_customize_type'
        # 添加Provider

        fake = Faker()
        fake.add_provider(CustomProvider)
        print(fake.customize_type())

class Test_faker():
    def test_faker(self):
        fake = Faker(locale='zh_CN')  # zh_TW中国台湾/en_US美国/en_GB英国/de_DE德国/ja_JP日本/ko_KR韩国/fr_FR法国

        print("\n----个人信息----")
        print(f'姓名:{fake.name()}')
        print(f'手机:{fake.phone_number()}')
        print(f'地址:{fake.address()}')

        print("\n----个人档案----")
        # print(fake.profile())  # 个人信息字典
        for key, value in fake.profile().items():
            print(f"{key}:{value}")

        print("\n----信用信息----")
        print('信用卡 Number:', fake.credit_card_number(card_type=None))
        print('信用卡 Provider:', fake.credit_card_provider(card_type=None))
        print('信用卡 Security Code:', fake.credit_card_security_code(card_type=None))
        print('信用卡 Expire:', fake.credit_card_expire())

        print("\n----Python数据----")
        print('生成Python字典: {}'.format(fake.pydict(nb_elements=10, variable_nb_elements=True)))  # Python字典
        print('生成Python可迭代对象:{}.'.format(fake.pyiterable(nb_elements=10, variable_nb_elements=True)))   # Python可迭代对象
        print('生成Python结构:{}'.format(fake.pystruct(count=1)))  # Python结构


if __name__ == '__main__':
    Test_faker().test_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():信用卡号

  • credit_card_provider():信用卡类型

  • credit_card_security_code():信用卡安全码

  • job():随机职位

  • first_name_female():女性名

  • first_name_male():男性名

  • last_name_female():女姓

  • last_name_male():男姓

  • name():随机生成全名

  • name_female():男性全名

  • name_male():女性全名

  • phone_number():随机生成手机号

  • phonenumber_prefix():随机生成手机号段

3、计算机基础、Internet信息类

  • ascii_company_email():随机ASCII公司邮箱名

  • ascii_email():随机ASCII邮箱:

  • company_email():

  • email():

  • safe_email():安全邮箱

4、网络基础信息类

  • domain_name():生成域名

  • domain_word():域词(即,不包含后缀)

  • ipv4():随机IP4地址

  • ipv6():随机IP6地址

  • mac_address():随机MAC地址

  • tld():网址域名后缀(.com,.net.cn,等等,不包括.)

  • uri():随机URI地址

  • uri_extension():网址文件后缀

  • uri_page():网址文件(不包含后缀)

  • uri_path():网址文件路径(不包含文件名)

  • url():随机URL地址

  • user_name():随机用户名

  • image_url():随机URL地址

5、浏览器信息类

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

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

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

  • opera():随机生成Opera的浏览器user_agent信息

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

  • linux_platform_token():随机Linux信息

  • user_agent():随机user_agent信息

6、数字类

  • numerify():三位随机数字

  • random_digit():0~9随机数

  • random_digit_not_null():1~9的随机数

  • random_int():随机数字,默认0~9999,可以通过设置min,max来设置

  • random_number():随机数字,参数digits设置生成的数字位数

  • pyfloat():

    left_digits=5 #生成的整数位数, right_digits=2 #生成的小数位数, positive=True #是否只有正数

  • pyint():随机Int数字(参考random_int()参数)

  • pydecimal():随机Decimal数字(参考pyfloat参数)

7、文本、加密类

  • pystr():随机字符串

  • random_element():随机字母

  • random_letter():随机字母

  • paragraph():随机生成一个段落

  • paragraphs():随机生成多个段落

  • 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():随机SHA1

  • sha256():随机SHA256

  • uuid4():随机UUID

8、时间信息类

  • date():随机日期

  • date_between():随机生成指定范围内日期,参数:start_date,end_date

  • date_between_dates():随机生成指定范围内日期,用法同上

  • date_object():随机生产从1970-1-1到指定日期的随机日期。

  • date_time():随机生成指定时间(1970年1月1日至今)

  • date_time_ad():生成公元1年到现在的随机时间

  • date_time_between():用法同dates

  • future_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():随机年份

9、python 相关方法

  • profile():随机生成档案信息

  • simple_profile():随机生成简单档案信息

  • pyiterable()

  • pylist()

  • pyset()

  • pystruct()

  • pytuple()

  • pydict()

### **faker** 官方接口中文常用函数

### **官方地址** Locale zh_CN — Faker 17.6.0 documentation

1. faker.address()             ----> 陕西省兰州县友好李路a座 987469
2. faker.administrative_unit() ----> 河北省
3. faker.building_number()     ----> O座
4. faker.city()                ----> 潮州县
5. faker.city_name()           ----> 太原
6. faker.city_suffix()         ----> 县
7. faker.country()             ----> 中华人民共和国
8. faker.country_code()        ----> SC
9. faker.current_country()     ----> People's Republic of China
10. faker.current_country_code() ----> CN
11. faker.district()            ----> 大兴
12. faker.postcode()            ----> 645201
13. faker.province()            ----> 江西省
14. faker.street_address()      ----> 温路J座
15. faker.street_name()         ----> 哈尔滨路
16. faker.street_suffix()       ----> 路
17. faker.bs()                  ----> target web-enabled methodologies
18. faker.catch_phrase()        ----> Multi-channeled modular architecture
19. faker.company()             ----> 富罳科技有限公司
20. faker.company_prefix()      ----> 戴硕电子
21. faker.company_suffix()      ----> 科技有限公司
22. faker.am_pm()               ----> PM
23. faker.century()             ----> XI
24. faker.date()                ----> 1991-10-01
25. faker.date_between()        ----> 2016-10-27
26. faker.date_between_dates()  ----> 2023-03-13
27. faker.date_object()         ----> 2006-01-24
28. faker.date_of_birth()       ----> 1940-08-24
29. faker.date_this_century()   ----> 2012-06-26
30. faker.date_this_decade()    ----> 2021-09-07
31. faker.date_this_month()     ----> 2023-03-03
32. faker.date_this_year()      ----> 2023-01-12
33. faker.date_time()           ----> 2008-09-24 05:35:08
34. faker.date_time_ad()        ----> 1431-10-21 10:04:59
35. faker.date_time_between()   ----> 2003-10-25 04:50:09
36. faker.date_time_between_dates()  ----> 2023-03-13 17:10:53
37. faker.date_time_this_century()   ----> 2020-07-31 07:40:54
38. faker.date_time_this_decade()    ----> 2022-08-20 05:19:09
39. faker.date_time_this_month()     ----> 2023-03-10 08:24:58
40. faker.date_time_this_year() ----> 2023-01-31 16:44:05
41. faker.day_of_month()        ----> 18
42. faker.day_of_week()         ----> Friday
43. faker.future_date()         ----> 2023-04-06
44. faker.future_datetime()     ----> 2023-03-15 07:29:25
45. faker.iso8601()             ----> 1978-01-07T19:39:10
46. faker.month()               ----> 10
47. faker.month_name()          ----> December
48. faker.past_date()           ----> 2023-03-03
49. faker.past_datetime()       ----> 2023-02-11 22:55:05
50. faker.pytimezone()          ----> tzfile('Europe/Belgrade')
51. faker.time()                ----> 00:16:39
52. faker.time_delta()          ----> 0:00:00
53. faker.time_object()         ----> 04:47:55
54. faker.time_series()         ----> <generator object Provider.time_series at 0x0000029E5B52C4A0>
55. faker.timezone()            ----> America/Tegucigalpa
56. faker.unix_time()           ----> 1213155446
57. faker.year()                ----> 1984
58. faker.ascii_company_email() ----> qiang97@xiulanli.cn
59. faker.ascii_email()         ----> daimin@yong.cn
60. faker.ascii_free_email()    ----> taoxiang@gmail.com
61. faker.ascii_safe_email()    ----> baimin@example.org
62. faker.company_email()       ----> zouyan@wenpan.cn
63. faker.dga()                 ----> pnaagpgonxublcbssovixsxaiwyjvcbenavpubbbstkfguyrumuu.cn
64. faker.domain_name()         ----> naqiang.net
65. faker.domain_word()         ----> ming
66. faker.email()               ----> leitang@example.net
67. faker.free_email()          ----> qiang45@gmail.com
68. faker.free_email_domain()   ----> gmail.com
69. faker.hostname()            ----> web-75.mingyang.cn
70. faker.http_method()         ----> GET
71. faker.iana_id()             ----> 8426020
72. faker.image_url()           ----> https://dummyimage.com/282x543
73. faker.ipv4()                ----> 142.133.193.98
74. faker.ipv4_network_class()  ----> c
75. faker.ipv4_private()        ----> 10.76.73.206
76. faker.ipv4_public()         ----> 219.74.142.112
77. faker.ipv6()                ----> 3d49:6332:49f3:5f2a:bc5d:bee8:6455:76a1
78. faker.mac_address()         ----> dc:15:bc:6f:f3:df
79. faker.nic_handle()          ----> BKM4-FAKE
80. faker.nic_handles()         ----> ['IB6-KFGG']
81. faker.port_number()         ----> 9136
82. faker.ripe_id()             ----> ORG-DUC91-RIPE
83. faker.safe_domain_name()    ----> example.org
84. faker.safe_email()          ----> yangcai@example.com
85. faker.slug()                ---->
86. faker.tld()                 ----> cn
87. faker.uri()                 ----> https://www.24.cn/register.html
88. faker.uri_extension()       ----> .html
89. faker.uri_page()            ----> home
90. faker.uri_path()            ----> categories
91. faker.url()                 ----> http://www.yangjuan.cn/
92. faker.user_name()           ----> hulei
93. faker.job()                 ----> 娱乐服务员
94. faker.paragraph()           ----> 销售今天次数.地址的话但是操作.
95. faker.paragraph()           ----> 部分更新原因工程不会主题重要.合作来自汽车.
96. faker.paragraph()           ----> 资料任何那些历史阅读.方法电脑教育喜欢认为.
97. faker.paragraph()           ----> 你的社会推荐也是.图片状态位置学生你的关系发表.
98. faker.paragraphs()          ----> ['你们中心电影因此.学习品牌看到专业.查看时间全部只要状态评论质量.']
99. faker.paragraphs()          ----> ['过程企业虽然欢迎不同文件.一直资源学校汽车应用评论客户.']
100. faker.sentence()            ----> 方法最新加入就是认为提供国际.
101. faker.sentence()            ----> 说明不断操作首页在线正在程序系列.
102. faker.sentence()            ----> 发生结果虽然开发社区您的如果.
103. faker.sentence()            ----> 类型之间因为一下事情进入.
104. faker.sentences()           ----> ['你的经济运行位置人员日期.', '制作记者也是品牌处理这是.', '一个发现活动工作那个.']
105. faker.sentences()           ----> ['关系现在一样发表生产设计.', '有限不会服务帮助.', '注意的是市场.']
106. faker.sentences()           ----> ['工程学习本站精华文章.', '中国起来精华市场回复.', '搜索行业您的应该已经上海等级.']
107. faker.text()                ----> 还是原因作者活动简介.
108. faker.text()                ----> 的是内容安全客户计划然后.
109. faker.text()                ----> 最后一种重要.登录怎么最新联系类别合作只是文章.
110. faker.text()                ----> 首页的是因为价格.地方社区手机大小什么重要.
111. faker.texts()               ----> ['汽车日本的话最新具有.']
112. faker.texts()               ----> ['等级作者本站规定.任何一直电影提高两个各种.']
113. faker.texts()               ----> ['虽然已经参加语言两个处理.可是一些他们论坛而且']
114. faker.word()                ----> 他们
115. faker.word()                ----> 觉得
116. faker.words()               ----> ['工具', '一些', '那么']
117. faker.words()               ----> ['今年', '当然', '对于']
118. faker.words()               ----> ['网站', '得到', '这是']
119. faker.words()               ----> ['方法', '美国', '支持']
120. faker.first_name()          ----> 俊
121. faker.first_name_female()   ----> 莉
122. faker.first_name_male()     ----> 健
123. faker.first_name_nonbinary()  ----> 瑜
124. faker.first_romanized_name()  ----> Yan
125. faker.language_name()       ----> Portuguese
126. faker.last_name()           ----> 杨
127. faker.last_name_female()    ----> 朱
128. faker.last_name_male()      ----> 陈
129. faker.last_name_nonbinary() ----> 曹
130. faker.last_romanized_name() ----> Fan
131. faker.name()                ----> 刘丽娟
132. faker.name_female()         ----> 马志强
133. faker.name_male()           ----> 周亮
134. faker.name_nonbinary()      ----> 郭娟
135. faker.prefix()              ---->
136. faker.prefix_female()       ---->
137. faker.prefix_male()         ---->
138. faker.prefix_nonbinary()    ---->
139. faker.romanized_name()      ----> Jing Zhao
140. faker.suffix()              ---->
141. faker.suffix_female()       ---->
142. faker.suffix_male()         ---->
143. faker.suffix_nonbinary()    ---->
144. faker.country_calling_code()  ----> +262 639
145. faker.msisdn()              ----> 9338801783414
146. faker.phone_number()        ----> 13302889327
147. faker.phonenumber_prefix()  ----> 135

参考信息:

公众号:狂师 测试开发技术

文章名:

地址:

推荐一款Python开源库,技术人必备的造数据神器!

  • 4
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值