一,安装使用
# 安装
pip install Faker
#pip安装较慢或者超时可用国内镜像安装
#国内镜像可跳转到文章:https://blog.csdn.net/qq_49349528/article/details/126704402?spm=1001.2014.3001.5501
pip install -i https://pypi.doubanio.com/simple/ faker
# 使用
from faker import Faker
fake = Faker(["en_US", "zh_CN"]) # 默认en_US,支持中文本地化zh_CN
print(fake.name())
print(fake.name())
print(fake.name())
支持国家语言
# ------------------------- faker支持的国家语言 -----------------
ar_EG # 阿拉伯语(埃及)
ar_PS # 阿拉伯语(巴勒斯坦)
ar_SA # 阿拉伯语(沙特阿拉伯)
bg_BG # 保加利亚语(保加利亚)
cs_CZ # 捷克语(捷克)
de_DE # 德语(德国)
dk_DK # 丹麦语(丹麦)
el_GR # 希腊语(希腊)
en_AU # 英语(澳大利亚)
en_CA # 英语( 加拿大)
en_GB # 英语(英国)
en_US # 英语( 美国)
es_ES # 西班牙语(西班牙)
es_MX # 西班牙语- 墨西哥)
et_EE # 爱沙尼亚语(爱沙尼亚)
fa_IR # 波斯语(伊朗)
fi_FI # 芬兰语(芬兰)
fr_FR # 法语(法国)
hi_IN # 印地语(印度)
hr_HR # 克罗地亚语(克罗地亚)
hu_HU # 匈牙利语(匈牙利)
hy_AM # 亚美尼亚语(亚美尼亚)
it_IT # 意大利语( 意大利)
ja_JP # 日语(日本)
ko_KR # 朝鲜语(韩国)
ka_GE # 格鲁吉亚语(格鲁吉亚)
lt_LT # 立陶宛语(立陶宛)
lv_LV # 拉脱维亚语(拉脱维亚)
ne_NP # 尼泊尔语(尼泊尔)
nl_NL # 德语(荷兰)
no_NO # 挪威语(挪威)
pl_PL # 波兰语(波兰)
pt_BR # 葡萄牙语 (巴西)
pt_PT # 葡萄牙语(葡萄牙)
ru_RU # 俄语(俄国)
sl_SI # 斯诺文尼亚语(斯诺文尼亚)
sv_SE # 瑞典语(瑞典)
tr_TR # 土耳其语(土耳其)
uk_UA # 乌克兰语(乌克兰)
zh_CN # 简体中文(中国)
zh_TW # 繁体中文(中国)
二,内置测试数据的使用以及模块类别
1.信息基础类别
# 基础信息类 使用faker.xxxx()
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() # 随机生成手机号段
2.网络、邮箱相关
# 网络、邮箱相关类别
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地址
ascii_company_email() # 随机ASCII公司邮箱名
ascii_email() # 随机ASCII邮箱 #
company_email() # 公司类邮箱 例:lei76@xiuyingxu.com
email() # 邮箱
safe_email() # 安全邮箱
3,浏览器相关类
# 浏览器相关
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信息
4,数字加密相关
# 数字、文本、加密相关
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参数)
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
5,时间类
# 时间、日期类
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(start_date="-3y", end_date="-1y") # 未来时间 自定义年月日格式 年月日 时分秒
month() # 随机月份
month_name() # 随机月份(英文)
past_date() # 随机生成已经过去的日期
past_datetime() # 随机生成已经过去的时间
time() # 随机24小时时间
timedelta() # 随机获取时间差
time_object() # 随机24小时时间,time对象
time_series() # 随机TimeSeries对象
timezone() # 随机时区
unix_time() # 随机Unix时间
year() # 随机年份
date_time(tzinfo=None) # 随机日期时间 2001, 3, 18, 17, 57, 44
iso8601(tzinfo=None) # 以iso8601标准输出的日期'1973-11-16T22:58:37'
date_time_this_month(before_now=True, after_now=False, tzinfo=None) # 本月的某个日期 2017, 11, 1, 14, 33, 48
date_time_this_year(before_now=True, after_now=False, tzinfo=None) # 本年的某个日期2017, 3, 2, 13, 55, 31
date_time_this_decade(before_now=True, after_now=False, tzinfo=None) # 本年代内的一个日期
2010, 3, 26, 6, 33, 23
date_time_this_century(before_now=True, after_now=False, tzinfo=None) # 本世纪一个日期
2015, 7, 21, 19, 27, 53
date_time_between(start_date="-30y", end_date="now", tzinfo=None) # 两个时间间的一个随机时间2005, 12, 3, 17, 17, 15
timezone() # 时区'America/Guatemala'
time(pattern="%H:%M:%S") # 时间(可自定义格式)'11:21:52'
am_pm() # 随机上午下午'PM'
month() # 随机月份'02'
month_name() # 随机月份名字'August'
year() # 随机年'1974'
day_of_week() # 随机星期几'Sunday'
day_of_month() # 随机月中某一天'02'
time_delta() # 随机时间延迟13371, 27637
date_object() # 随机日期对象1983, 1, 26
time_object() # 随机时间对象17, 8, 56
unix_time() # 随机unix时间(时间戳)1223246848
date(pattern="%Y-%m-%d") # 随机日期(可自定义格式)'1984-04-20'
date_time_ad(tzinfo=None) # 公元后随机日期341, 9, 11, 8, 6, 9
6,地理位置类
# 地理信息
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() # 街、路
7,其他一些组合数据,
# 其他一些组合数据
profile() # 随机生成档案信息
simple_profile() # 随机生成简单档案信息
pyiterable() # 随机可迭代对象
pylist() # 列表
pyset() # 集合
pystruct() # 字符串
pytuple() # 元组
pydict() # 字典
8,颜色类
hex_color() # 16进制表示的颜色'#671f6d'
rgb_css_color() # css用的rgb色'rgb(237,74,237)'
rgb_color() # 表示rgb色的字符串'208,102,218'
color_name() # 颜色名字 'Brown'
safe_hex_color() #安全16进制色 '#ee4400'
safe_color_name() # 安全颜色名字 'maroon'
9,银行卡类
credit_card_number(card_type=None) # 卡号'375325478746231'
credit_card_provider(card_type=None) # 卡的提供者'VISA 13 digit'
credit_card_security_code(card_type=None)# 卡的安全密码'450'
credit_card_expire() # 卡的有效期'04/22'
credit_card_full(card_type=None) # 完整卡信息'Maestro\n秀芳 商\n502001016117 04/27\nCVV: 144\n'
更详细的请参见faker的文档地址:Welcome to Faker’s documentation! — Faker 14.2.0 documentation