在测试过程中,经常要造数据,比如随机字符串,身份证号码,手机号码等。
如果要是手动制造数据的话,肯定要花不少时间,使用Python的Faker库,用它来生成各种各样的伪数据。
安装
Faker库源码地址:https://github.com/joke2k/faker
安装
pip install Faker -i https://pypi.douban.com/simple
基本使用
from faker import Faker # 从faker模块导入Faker这个类
fake = Faker(locale='zh_CN') # 设置中文# fake = Faker(locale='en_US') # 英文(美国)# fake = Faker(locale='ja_JP') # 日文print(fake.name()) # 龙文"""
如果要生成其他语种或地区的数据,去查看官方文档来修改即可
"""
常用字符串
f = fake.pyint(min_value=100, max_value=1000000, step=1) # 随机整数print(f) # 271466
f = fake.pystr(min_chars=None, max_chars=10) # Python字符串print(f) # BHtUWncFrR
手机号码
print(fake.phone_number()) # 手机号# 18614082466print(fake.phonenumber_prefix()) # 区号# 155print(fake.msisdn()) # 完整手机号码(加了国家和国内区号)# 1104424577469
银行
f = fake.bban() # 基本银行账号print(f) # QPOV24371876826705
f = fake.iban() # 国际银行代码print(f) # GB88JGHS02445354669331
条形码
f = fake.ean(length=13) # EAN条形码print(f) # 9154735851565
f = fake.ean8() # EAN8条形码print(f) # 65721377
公司
f = fake.company() # 公司名称print(f) # 佳禾传媒有限公司
f = fake.company_suffix() # 公司名称后缀print(f) # 科技有限公司
信用卡
f = fake.credit_card_number(card_type=None) # 信用卡卡号print(f) # 571173057258
f = fake.credit_card_provider(card_type=None) # 信用卡提供商print(f) # VISA 16 digit
f = fake.credit_card_security_code(card_type=None) # 信用卡安全码print(f) # 505
网络
f = fake.uri() # URIprint(f) # http://www.qin.cn/search/posts/main/
f = fake.url(schemes=None) # URLprint(f) # http://www.xu.cn/
f = fake.company_email() # 企业邮箱print(f) # yanma@dd.cn
f = fake.email() # 邮箱print(f) # min69@example.org
地址
f = fake.address() # 完整地址print(f) # 西藏自治区呼和浩特县沈北新魏路Q座 409753
f = fake.street_address() # 街道+地址print(f) # 广州路Z座
f = fake.city() # 城市print(f) # 北京市
日期
f = fake.date(pattern="%Y-%m-%d", end_datetime=None) # 随机日期print(f) # 2004-10-24
f = fake.time(pattern="%H:%M:%S", end_datetime=None) # 随机时间print(f) # 11:14:17
短语
f = fake.word(ext_word_list=None) # 随机词语print(f) # 方式
f = fake.sentence(nb_words=6, variable_nb_words=True, ext_word_list=None) # 随机短语print(f) # 这是活动新闻今天不是.
代理
f = fake.chrome(version_from=13, version_to=63, build_from=800, build_to=899) # chromeprint(f) # Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_3) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/50.0.876.0 Safari/532.0
f = fake.internet_explorer() # Ieprint(f) # Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 5.0; Trident/5.0)
f = fake.android_platform_token() # 安卓print(f) # Android 8.0
f = fake.ios_platform_token() # iosprint(f) # iPad; CPU iPad OS 9_3_6 like Mac OS X
更多用法,参考官网