python用faker库批量生成假数据
楔子
我们平时在做测试的时候,经常会使用一些假数据,而Python中有一个包叫faker(不是打LOL的那个),专门用来生成假数据,并且生成的假数据非常逼真,下面我们就来看一下。
faker使用方法
基本使用
faker使用起来非常简单,我们看一下就知道了。
fromfakerimportFaker #导入Faker这个类,实例化即可 fake=Faker(locale="zh_CN") #然后调用里面的方法即可生成相应的假数据 print(fake.name())#谢秀华 print(fake.address())#四川省莉县白云沈阳路o座313522
看起来还挺逼真的,但是有一点需要注意,这里的地址并不是真实的地址,而是随机组合出来的,也就是将省、市、道路之类的随机组合在一起。
另外我们在实例化Faker这个类的时候,指定了locale="zh_CN",表示生成中文数据,因为默认是英文数据。faker可以生成多个语言的假数据,支持的语言如下:
- 简体中文:zh_CN
- 繁体中文:zh_TW
- 美国英文:en_US
- 英国英文:en_GB
- 德文:de_DE
- 日文:ja_JP
- 韩文:ko_KR
- 法文:fr_FR
我们举个栗子:
fromfakerimportFaker fake=Faker(locale="ja_JP") #指定为日本 print(fake.name())#渚あすか print(fake.address())#栃木県西多摩郡奥多摩町花川戸41丁目7番10号コート中宮祠994 #指定为台湾 fake=Faker(locale="zh_TW") print(fake.name())#趙美琪 print(fake.address())#23149新營頂福州巷3段653號3樓
除了上面的name和address,faker还支持生成很多其它的数据。
地理信息类
fromfakerimportFaker fake=Faker(locale="zh_CN") #1.随机打印一个国家,此时跟Faker里面locale无关 print(fake.country())#吉布提 #2.国家编码,此时跟Faker里面locale无关 print(fake.country_code())#KW #3.打印区,此时是中国的区 print(fake.district())#朝阳 #4.打印纬度 print(fake.latitude())#-39.076213 #5.打印经度 print(fake.longitude())#138.988316 #6.打印邮编 print(fake.postcode())#881534 #7.打印省份 print(fake.province())#新疆维吾尔自治区 #8.打印详细地址 print(fake.address())#河北省淑英县丰都永安街D座260864 #9.打印街道地址 print(fake.street_address())#姜街c座 #10.打印街道名 print(fake.street_name())#海门街 #11.获取市、县(打印的是后缀,要么是县、要么是市) print(fake.city_suffix())#市 print(fake.city_suffix())#县 #12.打印街、路(打印的是后缀,要么是路、要么是街) print(fake.street_suffix())#路 print(fake.street_suffix())#街
基础信息类
fromfakerimportFaker fake=Faker(locale="zh_CN") #1.生成身份证号 print(fake.ssn())#513428197105280989 #2.生成公司服务名 print(fake.country_code())#HT #3.随机公司名(长) print(fake.company())#创联世纪科技有限公司 #4.随机公司名(短) print(fake.company_prefix())#信诚致远 #5.公司性质 print(fake.company_suffix())#信息有限公司 #6.随机信用卡到期日 print(fake.credit_card_expire())#03/28 #7.生成完整信用卡信息 print(fake.credit_card_full()) """ xxJCB16digit 勇赵 350542782899928312/22 CVC:463 """ #8.信用卡号 print(fake.credit_card_number())#44980244740048 #9.信用卡类型 print(fake.credit_card_provider())#Mastercard #10.信用卡安全码 print(fake.credit_card_security_code())#581 #11.随机职位 print(fake.job())#新媒体运营 #12.女性的名 print(fake.first_name_female())#丽娟 #13.男性的名 print(fake.first_name_male())#彬 #14.女性的姓和男性的姓,这里的姓和上面的名组合起来得到一个完整的姓名 #说实话个人觉得last_name_female打印姓有点别扭,可能老外习惯将姓写在后、名字也在前 #另外,关于姓,个人觉得其实男女没有太大区别 print(fake.last_name_female())#高 print(fake.last_name_male())#杨 #15.打印全名 print(fake.name())#田小红 #16.男性全名 print(fake.name_male())#朱燕 #17.女性全名 print(fake.name_female())#王凯 #18.随机生成手机号 print(fake.phone_number())#18035736881 #19.随机生成手机号段 print(fake.phonenumber_prefix())#147
计算机基础、Internet信息类
fromfakerimportFaker fake=Faker(locale="zh_CN") #1.随机ASCII公司邮箱名 print(fake.ascii_company_email())#minghan@jy.org #2.随机ASCII邮箱 print(fake.ascii_email())#gang38@yongcui.cn #3.公司邮箱 print(fake.company_email())#xiuyinggao@guoxia.org #4.邮箱 print(fake.email())#yang28@hotmail.com #5.安全邮箱 print(fake.safe_email())#jieqiao@example.com
网络基础信息类
fromfakerimportFaker fake=Faker(locale="zh_CN") #1.生成域名 print(fake.domain_name())#lijuan.net #2.域词(即,不包含后缀) print(fake.domain_word())#weiyang #3.随机IP4地址 print(fake.ipv4())#12.16.224.95 #4.随机IP6地址 print(fake.ipv6())#e6b:5814:4d63:1496:9e0d:eb44:e114:722b #5.随机MAC地址 print(fake.mac_address())#8a:1c:ce:eb:f0:5c #6.网址域名后缀(com,net,cn等等,不包括.) print(fake.tld())#cn #7.随机URI地址 print(fake.uri())#https://na.cn/login/ #8.网址文件后缀 print(fake.uri_extension())#.htm #9.网址文件(不包含后缀) print(fake.uri_page())#homepage #10.网址文件路径(不包含文件名) print(fake.uri_path())#categories #11.随机URL地址 print(fake.url())#https://jingsong.cn/ #12.随机用户名 print(fake.user_name())#jing13 #13.随机URL地址 print(fake.image_url())#https://dummyimage.com/109x622
浏览器信息类
fromfakerimportFaker fake=Faker(locale="zh_CN") #1.随机生成Chrome的浏览器user_agent信息 print(fake.chrome()) #Mozilla/5.0(Macintosh;IntelMacOSX10_7_7)AppleWebKit/535.0(KHTML,likeGecko)Chrome/26.0.870.0Safari/535.0 #2.随机生成FireFox的浏览器user_agent信息 print(fake.firefox()) #Mozilla/5.0(Android3.2.2;Mobile;rv:15.0)Gecko/15.0Firefox/15.0 #3.随机生成IE的浏览器user_agent信息 print(fake.internet_explorer()) #Mozilla/5.0(compatible;MSIE8.0;Windows98;Win9x4.90;Trident/3.1) #4.随机生成Opera的浏览器user_agent信息 print(fake.opera()) #Opera/9.47.(X11;Linuxi686;cv-RU)Presto/2.9.186Version/11.00 #5.随机生成Safari的浏览器user_agent信息 print(fake.safari()) """ Mozilla/5.0(iPod;U;CPUiPhoneOS4_2likeMacOSX;ne-NP) AppleWebKit/534.29.1(KHTML,likeGecko)Version/3.0.5Mobile/8B119Safari/6534.29.1 """ #6.随机Linux信息 print(fake.linux_platform_token())#X11;Linuxx86_64 #7.随机user_agent信息 print(fake.user_agent()) #Mozilla/5.0(WindowsNT5.0;si-LK;rv:1.9.1.20)Gecko/2017-09-2319:50:28Firefox/3.8
数字类
这个意义不大,完全可以使用Python的内置模块,或者numpy来实现,这里不说了。
文本、加密类
fromfakerimportFaker fake=Faker(locale="zh_CN") #1.随机字符串 print(fake.pystr())#nyfOoBhwiCAYECiKOULE #2.随机字母 print(fake.random_element())#c #3.随机字母 print(fake.random_letter())#A #4.随机生成一个段落 print(fake.paragraph())#产品特别为了文章.研究不同评论就是还是工程. #5.随机生成多个段落 print(fake.paragraphs()) """ ['一下手机希望责任.合作空间联系最大.', '用户免费中心部分就是如何男人.次数美国自己影响程序服务.你的类别欢迎日本是一.', '数据情况工作一起发展应该自己.发展资源内容.'] """ #6.随机生成一句话 print(fake.sentence())#更新法律学生应用. #7.随机生成多句话,与段落类似 print(fake.sentences())#['服务不过而且对于美国今天价格.','发布全国语言帖子.','产品关系问题产品.'] #8.随机生成一篇文章 print(fake.text()) """ 这是价格方法阅读.发布对于经济地区开发相关你们合作. 一些更新个人学生重要.什么威望网络影响. 市场这些环境阅读那个类别.软件男人怎么等级状态日本您的. 您的阅读地方论坛.广告帮助位置企业.以下应用运行主要当前只是. 简介只要来自如果科技.那么文化进入公司电话. 名称威望游戏报告最新日期论坛.最大为了如何提高大学.还是文件因为喜欢语言.的是以及资料是否现在两个. """ #9.随机生成词语 print(fake.word())#过程 #10.随机生成多个词语,用法与段落,句子,类似 print(fake.words())#['任何','参加','正在'] #11.随机生成二进制编码 print(fake.binary())#非常长,不打印了 #12.随机生成两位语言编码 print(fake.language_code())#ks #13.随机生成语言/国际信息 print(fake.locale())#shs_CA #14.随机生成MD5 print(fake.md5())#0df0396328281f32b1922cd82016580d #15.随机生成密码,可选参数: #length:密码长度;special_chars:是否能使用特殊字符;digits:是否包含数字;upper_case:是否包含大写字母;lower_case:是否包含小写字母 print(fake.password())#C^!5fIk!s8 #16.随机SHA1 print(fake.sha1())#e7d9fa4f3e9a25e5ab44d88971e4c56ef4cc446f #17.随机SHA256 print(fake.sha256())#47f9163f2a72edc855ef25289c2cfcd4c213842607b4b936c12a43b477c8ed77 #18.随机UUID print(fake.uuid4())#45dc0754-b3e3-4c94-bdcb-d20a3a8f4d9d
时间信息类
意义也不大,有兴趣可以自己了解一下。
小结
个人觉得,faker这个库最有用的就是生成名字和地址了,其实虽然可以生成很多信息,但是常用的只有几个,需要使用的时候直接查就可以了。
以上就是python用faker库批量生成假数据的详细内容,更多关于pythonfaker库生成假数据的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。