安装Faker
使用pip安装
pip install Faker
或者去Faker的PyPI页面下载Wheel或者Source文件进行安装:
基本用法
from faker import Faker # 1
fake = Faker() # 2
fake.name() # 3
# Donna Kelly
fake.address() # 4
# 519 Donna River
# Port Natalie, SD 87384
1. 从faker模块导入Faker这个类。
2. 实例化,保存到变量fake中。
3. 调用name()方法随机生成一个名字。
4. 调用address()方法随机生成地址信息。
如果要生成中文的随机数据,我们可以在实例化时给locale参数传入‘zh_CN’这个值:
from faker import Faker
fake = Faker(locale=\'zh_CN\')
fake.name()
# 庞超
fake.address()
# 河北省辛集县合川张街p座 489476
如果要生成中文繁体字,则可以传入中国*这个地区的值\'zh_TW\'(当然地址显示的是*的):
from faker import Faker
fake = Faker(locale=\'zh_TW\')
fake.name()
# 羅婉婷
fake.address()
# 16934 大里縣水源巷35號之0
如果要生成其他语种或地区的数据,我们可以传入相应的地区值:
ar_EG - Arabic (Egypt)
ar_PS - Arabic (Palestine)
ar_SA - Arabic (Saudi Arabia)
bg_BG - Bulgarian
bs_BA - Bosnian
cs_CZ - Czech
de_DE - German
dk_DK - Danish
el_GR - Greek
en_AU - English (Australia)
en_CA - English (Canada)
en_GB - English (Great Britain)
en_NZ - English (New Zealand)
en_US - English (United States)
es_ES - Spanish (Spain)
es_MX - Spanish (Mexico)
et_EE - Estonian
fa_IR - Persian (Iran)
fi_FI - Finnish
fr_FR - French
hi_IN - Hindi
hr_HR - Croatian
hu_HU - Hungarian
hy_AM - Armenian
it_IT - Italian
ja_JP - Japanese
ka_GE - Georgian (Georgia)
ko_KR - Korean
lt_LT - Lithuanian
lv_LV - Latvian
ne_NP - Nepali
nl_NL - Dutch (Netherlands)
no_NO - Norwegian
pl_PL - Polish
pt_BR - Portuguese (Brazil)
pt_PT - Portuguese (Portugal)
ro_RO - Romanian
ru_RU - Russian
sl_SI - Slovene
sv_SE - Swedish
tr_TR - Turkish
uk_UA - Ukrainian
zh_CN - Chinese (China Mainland)
zh_TW - Chinese (China *)
其他方法
注:个别方法具有针对性,比如province()方法适用中国,但不适用美国及其他一些国家。
地址相关
fake.address() # 地址
# \'香港特别行政区大冶县上街钟街k座 664713\'
fake.building_number() # 楼名
# \'v座\'
fake.city() # 完整城市名
# \'长春县\'
fake.city_name() # 城市名字(不带市县)
# \'梧州\'
fake.city_suffix() # 城市后缀名
# \'市\'
fake.country() # 国家名称
# \'厄立特里亚\'
fake.country_code(representation="alpha-2")
# \'BZ\' # 国家编号
fake.district() # 地区
# \'沙湾\'
fake.postcode() # 邮编
# \'332991\'
fake.province() # 省
# \'河北省\'
fake.street_address() # 街道地址
# \'武汉街D座\'
fake.street_name() # 街道名称
# \'广州路\'
fake.street_suffix() # 街道后缀名
# \'路\'
汽车相关
fake.license_plate() # 牌照
# \'ZCO 000\'
银行相关
fake.bank_country() # 银行所属国家
# \'GB\'
fake.bban() # 基本银行账号
# \'TPET9323218579379\'
fake.iban() # 国际银行代码
# \'GB82IRVM1531009974701\'
条形码相关
fake.ean(length=13) # EAN条形码
# \'5456457843465\'
fake.ean13() # EAN13条形码
# \'2689789887590\'
fake.ean8() # EAN8条形码
# \'52227936\'
颜色相关
fake.color_name() # 颜色名称
# \'Orange\'
fake.hex_color() # 颜色十六进制值
# \'#a5cb7c\'
fake.rgb_color() # 颜色RGB值
# \'15,245,42\'
fake.rgb_css_color() # CSS颜色值
# \'rgb(15,70,13)\'
fake.safe_color_name() # 安全色
# \'aqua\'
fake.safe_hex_color() # 安全色十六进制值
# \'#881100\'
公司相关
fake.bs() # 商业用词
# \'synthesize strategic vortals\'
fake.catch_phrase() # 妙句(口号)
# \'Robust even-keeled service-desk\'
fake.company() # 公司名称
# \'富罳科技有限公司\'
fake.company_prefix() # 公司名称前缀
# \'商软冠联\'
fake.company_suffix() # 公司名称后缀
# \'网络有限公司\'
信用卡相关
fake.credit_card_expire(start="now", end="+10y", date_format="%m/%y") # 过期年月
# \'11/20\'
fake.credit_card_full(card_type=None) # 完整信用卡信息
# \'VISA 16 digit\n秀珍 卢\n4653084445257690 11/19\nCVC: 935\n\'
fake.credit_card_number(card_type=None) # 信用卡卡号
# \'4339481813664365360\'
fake.credit_card_provider(card_type=None) # 信用卡提供商
# \'VISA 19 digit\'
fake.credit_card_security_code(card_type=None) # 信用卡安全码
# \'597\'
货币相关
fake.cryptocurrency() # 加密货币代码+名称
# (\'TRX\', \'TRON\')
fake.cryptocurrency_code() # 加密货币代码
# \'MZC\'
fake.cryptocurrency_name() # 加密货币名称
# \'Ripple\'
fake.currency() # 货币代码+名称
# (\'GNF\', \'Guinean franc\')
fake.currency_code() # 货币代码
# \'SOS\'
fake.currency_name() # 货币名称
# \'Lebanese pound\'
时间相关
fake.am_pm() # AM或PM
# \'PM\'
fake.century() # 世纪
# \'XII\'
fake.date(pattern="%Y-%m-%d", end_datetime=None) # 日期字符串(可设置格式和最大日期)
# \'1998-05-13\'
fake.date_between(start_date="-30y", end_date="today") # 日期(可设置限定范围)
# datetime.date(2014, 8, 17)
fake.date_between_dates(date_start=None, date_end=None) # 同上
# datetime.date(2019, 10, 14)
fake.date_object(end_datetime=None) # 日期(可设置最大日期)
# datetime.date(1981, 12, 20)
fake.date_of_birth(tzinfo=None, minimum_age=0, maximum_age=115) # 出生日期
# datetime.date(1931, 12, 8)
fake.date_this_century(before_today=True, after_today=False) # 本世纪日期
# datetime.date(2003, 5, 4)
fake.date_this_decade(before_today=True, after_today=False) # 本年代中的日期
# datetime.date(2014, 1, 29)
fake.date_this_month(before_today=True, after_today=False) # 本月中的日期
# datetime.date(2019, 10, 10)
fake.date_this_year(before_today=True, after_today=False) # 本年中的日期
# datetime.date(2019, 3, 6)
fake.date_time(tzinfo=None, end_datetime=None) # 日期和时间
# datetime.datetime(1990, 8, 11, 22, 25)
fake.date_time_ad(tzinfo=None, end_datetime=None, start_datetime=None) # 日期和时间(从001年1月1日到现在)
# datetime.datetime(244, 12, 17, 9, 59, 56)
fake.date_time_between(start_date="-30y", end_date="now", tzinfo=None) # 日期时间(可设置限定范围)
# datetime.datetime(1995, 4, 19, 17, 23, 51)
fake.date_time_between_dates(datetime_start=None, datetime_end=None, tzinfo=None) # 同上
# datetime.datetime(2019, 10, 14, 14, 15, 36)
fake.date_time_this_century(before_now=True, after_now=False, tzinfo=None) # 本世纪中的日期和时间
# datetime.datetime(2009, 8, 26, 18, 27, 9)
fake.date_time_this_decade(before_now=True, after_now=False, tzinfo=None