该模块主要是用来伪造一些看起来一点都不假的数据。
一开始看到该模块我就想到了李相赫,有道词典翻译这个词竟然显示出来了李相赫。。哈哈哈哈。。
pip install faker
from faker import Faker, Factory
fake = Faker("zh_CN") # 默认英文,初始化为中文
print(fake.name())
一般比较常用
>>> fake.ipv4() # ipv4
'12.106.181.208'
>>> fake.ipv6() # ipv6
'1a1f:d2e4:7b36:4267:bbce:e06c:7dcb:bdff'
>>> fake.user_agent()
'Mozilla/5.0 (Macintosh; PPC Mac OS X 10_10_0 rv:6.0; lo-LA) AppleWebKit/535.45.5 (KHTML, like Gecko) Version/4.0 Safari/535.45.5'
>>> fake.chrome() # Chrome的User-Agent
>>> fake.email() # email
'[email protected]'
>>> fake.user_name() # 用户名
'rogermendez'
>>> fake.mac_address() # mac地址
'f8:15:13:9e:2e:c0'
>>> fake.domain_name() # 域名
'rivera.biz'
>>> fake.phone_number()
'+61(7)1447626736'
>>> fake.ssn()
'430401196301040475'
>>> fake.name() # 姓名
'水丽'
>>> fake.last_name() # 姓
'楚'
>>> fake.first_name() # 名
'秀荣'
>>> fake.name_male() # 男性姓名
'梅桂芝'
>>> fake.last_name_male() # 男性姓
'司'
>>> fake.first_name_male() # 男性名
'志强'
>>> fake.name_female() # 女性姓名
'颛琴'
>>> fake.profile()
{'job': '医疗器械销售经理/主管', 'company': '昂歌信息网络有限公司', 'ssn': '522728197402062846', 'residence': '黑龍江省沈阳县海港海口街t座 880136', 'current_location': (Decimal('-41.6418325'), Decimal('2.866855')), 'blood_group': 'A+', 'website': ['http://www.tianwan.com/'], 'username': 'ichang', 'name': '臧欣', 'sex': 'F', 'address': '湖南省大冶县大兴咎路j座 348532', 'mail': '[email protected]', 'birthdate': datetime.date(2016, 2, 19)}
>>> fake.simple_profile()
{'username': 'xkong', 'name': '殷帆', 'sex': 'M', 'address': '海南省惠州市平山苗路I座 710298', 'mail': '[email protected]', 'birthdate': datetime.date(1924, 6, 24)}
比较方便的生成测试数据
>>> fake.pyfloat()
-81122578.9
>>> fake.pystr(max_chars=10)
'pUwKCLILoE'
>>> fake.pybool()
False
>>> fake.pyiterable(nb_elements=10)
{0.435373, 5986, 'http://deng.cn/category/tag/index/', 'vqPUxcGlvYEBZPDUpfEd', 'https://www.qiuzhong.cn/app/explore/faq.htm', 'http://98.cn/home/', 'QILrplxdGUUollGoyNhu'}
>>> fake.pylist(nb_elements=10, variable_nb_elements=True ) # 生成列表
['YahiFyjFPnbOYxmEjXyb', 7327, 'https://www.duyu.org/search/explore/blog/home.jsp', 8804, 'SjjSzEAJpGvsjnGcaPZG', 883]
>>> fake.pydict(nb_elements=10, variable_nb_elements=True) # 生成字典
{'报告': 'https://fangzhu.cn/search/search/search/about.htm', '可能': 5712, '时间': 5456, '认为': -90824.2146134353, '客户': datetime.datetime(1970, 8, 2, 23, 42, 56), '不是': 'gTXhRupOuzDKCcoPXhFg', '增加': 'fZRTCxPuaJzqgEnfiEiV', '一切': 'YPLyUIKOJBMhDsNSSYsY', '以及': 15402881561.2, '技术': datetime.datetime(2006, 4, 12, 22, 51, 12), '大家': datetime.datetime(1981, 6, 10, 5, 41, 32), '其实': 'https://www.kang.org/about/', '简介': 'WgyaVIcZDUjMzEtCgnQh'}
>>> fake.pyset(nb_elements=10, variable_nb_elements=True) # 随机set
{Decimal('-9.419'), 'XfuAKaCjlkpzQTBRNMJx', 'HMcBdOnJjtJJPgdkEUWf', 'grywmfxcAXgpVwThmjhw', 8.0, -89330155270836.5, 'zIHdsdCoSSXrowJzcatk', 'hDVQsOCOIhQOzkQJlBFP', 82286319290.5793, 'http://www.xiao.cn/login/', 'DGacRmfgwEreTofTZIxA', 'https://juan.cn/index.jsp'}
>>> fake.pytuple(nb_elements=10, variable_nb_elements=True) # 随机tuple
(3910, '[email protected]', 6472, 1673, 'NAaAuEKIBzQCdRGrFpbU', 'fxAHekyfEifAwUJYcoyf', 19.0, -22503382766892.0, 1751, 'https://www.vk.cn/register/', 25.57343623, 'http://leikong.cn/tag/search/privacy.html')
>>> fake.pystruct() # 随机生成3个有10个元素的python数据结构
>>> fake.text() # 随机文章
'广告空间任何.可是服务电子.\n已经参加地方客户那么能力.以后首页希望.当然有限朋友一点注册那么文化影响.\n问题提供信息可能成为.最后方面一定规定推荐主题.学校用户用户支持这种包括他的.\n喜欢大小名称其他技术.电脑能力今天最新.\n美国对于那些一次一些基本.他的阅读语言其他.加入评论标题主题销售业务其他.\n完成安全只有时间全国的人两个经验.成功支持所有自己.'
>>> fake.word() # 随机单词
'美国'
>>> fake.sentence() # 随机句子
'更多文件作为运行特别.'
>>> fake.paragraph() # 随机段落
'安全起来喜欢报告.那些最大服务加入点击.一切开发学生电话的人分析我们.'
>>> fake.country() # 国家
'比利时'
>>> fake.city() # 城市
'想县'
>>> fake.address() # 地址
'海南省沈阳市沙湾长春街A座 744296'
>>> fake.street_address() # 街道
'冉街U座'
>>> fake.postcode() # 邮编
'917924'
剩余还有很多方法,就写了我一般用的方法,感兴趣的可以看源码,里面介绍有很多方法和实例参数。