faker模块
faker模块介绍
Faker是一个Python包,主要用来创建伪数据,使用Faker包,无需再手动生成或者手写随机数来生成数据,只需要调用Faker提供的方法,即可完成数据的生成。
Faker是一个第三方模块,使用前需要安装。
演示举例:
from faker import Faker
data = Faker(locale="zh_CN")
name = data.name()
address = data.address()
city = data.city()
Faker()类的locale参数为语言,部分支持的语言如下:
参数 | 说明 | 用法 |
---|
zh_CN | 中文简体 | Faker(locale=‘zh_CN’) |
zh_TW | 中文繁体 | Faker(locale=‘zh_TW’) |
en_US | 英语(美国) | Faker(locale=‘en_US’) |
en_GB | 英语(英国) | Faker(locale=‘en_GB’) |
de_DE | 德语 | Faker(locale=‘de_DE’) |
ja_JP | 日语 | Faker(locale=‘ja_JP’) |
ko_KR | 韩语 | Faker(locale=‘ko_KR’) |
fr_FR | 法语 | Faker(locale=‘fr_FR’) |
es_ES | 西班牙语 | Faker(locale=‘zh_CN’) |
faker模块的常用方法
地理信息类
参数 | 说明 | 用法 | 返回值-参考 |
---|
city() | 城市 | data.city() | [随机城市名],例如:成都市 |
country() | 国家 | data.country() | [随机国家名],例如:哥伦比亚 |
country_code() | 国家编码 | data.country_code() | [随机国家编码简称],例如:TW |
district() | 区 | data.district() | [随机地区名],例如:新城 |
coordinate() | 坐标 | data.coordinate() | [随机坐标值],例如:-73.157439 |
latitude() | 地理坐标(纬度) | data.latitude() | [随机坐标值],例如:27.8782985 |
longitude() | 地理坐标(经度) | data.longitude() | [随机坐标值],例如:-32.243069 |
postcode() | 邮编 | data.postcode() | [随机邮编号],例如:179309 |
province() | 省份 (zh_TW没有此方法) | data.province() | [随机省份],例如:湖南省 |
address() | 详细地址 | data.address() | [随机地址],例如:浙江省嘉禾市浔阳李街E座 896331 |
street_address() | 街道地址 | data.street_address() | [随机街道地址],例如:北京路L座 |
street_name() | 街道名 | data.street_name() | [随机街道名],例如:长春街 |
street_suffix() | 街 | data.street_suffix() | [固定返回]:街 |
基础信息类
参数 | 说明 | 用法 | 返回值-参考 |
---|
ssn() | 生成身份证号 | data.ssn() | 511113195907044329 |
bs() | 随机公司服务名 | data.bs() | monetize B2B supply-chains |
company() | 随机公司名(长) | data.company() | 时空盒数字网络有限公司 |
company_prefix() | 随机公司名(短) | data.company_prefix() | 迪摩 |
company_suffix() | 公司性质 | data.company_suffix() | 信息有限公司 |
credit_card_expire() | 随机信用卡到期日 | data.credit_card_expire() | 11/28 |
credit_card_full() | 生成完整信用卡信息 | data.credit_card_full() | Discover 磊 王 6011307077972381 11/25 CVC: 022 |
credit_card_number() | 信用卡号 | data.credit_card_number() | 639026733282 |
credit_card_provider() | 信用卡类型 | data.credit_card_provider() | JCB 16 digit |
credit_card_security_code() | 信用卡安全码 | data.credit_card_security_code() | 058 |
job() | 随机职位 | data.job() | 物料经理 |
first_name() | 第一个名字 | data.first_name() | 莉 |
first_name_female() | 女性名 | data.first_name_female() | 雪 |
first_name_male() | 男性名 | data.first_name_male() | 博 |
first_romanized_name() | 罗马名 | data.first_romanized_name() | Ping |
last_name() | 最后一个名字 | data.last_name() | 谢 |
last_name_female() | 女姓 | data.last_name_female() | 韩 |
last_name_male() | 男姓 | data.last_name_male() | 顾 |
last_romanized_name() | 姓氏 | data.last_romanized_name() | Feng |
name() | 随机生成全名 | data.name() | 郭坤 |
name_female() | 男性全名 | data.name_female() | 郑桂荣 |
name_male() | 女性全名 | data.name_male() | 金凤兰 |
romanized_name() | 罗马名 | data.romanized_name() | Juan Sun |
msisdn() | 移动台国际用户识别码,即移动用户的ISDN号码 | data.msisdn() | 9271661830556 |
phone_number() | 随机生成手机号 | data.phone_number() | 15217915763 |
phonenumber_prefix() | 随机生成手机号段 | data.phonenumber_prefix() | 131 |
个人账户信息类
参数 | 说明 | 用法 | 返回值-参考 |
---|
ascii_company_email() | 随机ASCII公司邮箱名 | data.ascii_company_email() | qiang87@af.cn |
ascii_email() | 随机ASCII邮箱 | data.ascii_email() | qiangliang@minsu.cn |
ascii_free_email() | | data.ascii_free_email() | yan93@gmail.com |
ascii_safe_email() | | data.ascii_safe_email() | yeyan@example.com |
company_email() | | data.company_email() | tao53@junchang.cn |
email() | | data.email() | xia74@example.com |
free_email() | | data.free_email() | osun@gmail.com |
free_email_domain() | 邮箱后缀 | data.free_email_domain() | http://hotmail.com |
safe_email() | 安全邮箱 | data.safe_email() | jie93@example.com |
网络基础信息类
参数 | 说明 | 用法 | 返回值-参考 |
---|
domain_name() | 生成域名 | data.domain_name() | http://jingcao.cn |
domain_word() | 域词(即,不包含后缀) | data.domain_word() | na |
ipv4() | 随机IP4地址 | data.ipv4() | 85.110.147.92 |
ipv6() | 随机IP6地址 | data.ipv6() | 4f22:4143:25ba:14e4:7fbb:70bb:d6e0:ddb |
mac_address() | 随机MAC地址 | data.mac_address() | ca:16:93:eb:a4:18 |
tld() | 网址域名后缀(.com,.net.cn,等等,不包括.) | data.tld() | com |
uri() | 随机URI地址 | data.uri() | http://www.sa.cn/home/ |
uri_extension() | 网址文件后缀 | data.uri_extension() | .html |
uri_page() | 网址文件(不包含后缀) | data.uri_page() | search |
uri_path() | 网址文件路径(不包含文件名) | data.uri_path() | explore/main |
url() | 随机URL地址 | data.url() | https://www.66.cn/ |
user_name() | 随机用户名 | data.user_name() | yan33 |
image_url() | 随机URL地址 | data.image_url() | https://placeimg.com/212/827/an |
浏览器信息类
参数 | 说明 | 用法 | 返回值-参考 |
---|
chrome() | 随机生成Chrome的浏览器user_agent信息 | data.chrome() | Mozilla/5.0 (Windows 98; Win 9x 4.90) AppleWebKit/531.2 (KHTML, like Gecko) Chrome/29.0.831.0 Safari/531.2 |
firefox() | 随机生成FireFox的浏览器user_agent信息 | data.firefox() | Mozilla/5.0 (Windows CE; tr-TR; rv:1.9.1.20) Gecko/7651-04-14 15:09:18 Firefox/3.8 |
internet_explorer() | 随机生成IE的浏览器user_agent信息 | data.internet_explorer() | Mozilla/5.0 (compatible; MSIE 5.0; Windows NT 5.0; Trident/3.1) |
opera() | 随机生成Opera的浏览器user_agent信息 | data.opera() | Opera/9.97.(Windows NT 4.0; mai-IN) Presto/2.9.180 Version/11.00 |
safari() | 随机生成Safari的浏览器user_agent信息 | data.safari() | Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3 like Mac OS X; tcy-IN) AppleWebKit/535.20.4 (KHTML, like Gecko) Version/3.0.5 Mobile/8B113 Safari/6535.20.4 |
linux_platform_token() | 随机Linux信息 | data.linux_platform_token() | X11; Linux x86_64 |
user_agent() | 随机user_agent信息 | data.user_agent() | Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_6 like Mac OS X) AppleWebKit/534.2 (KHTML, like Gecko) CriOS/35.0.831.0 Mobile/03H428 Safari/534.2 |
文件信息类
参数 | 说明 | 用法 | 返回值-参考 |
---|
file_extension() | 随机文件扩展名 | data.file_extension() | json |
file_name() | 随机文件名(包含扩展名,不包含路径) | data.file_name() | 这是.gif |
file_path() | 随机文件路径(包含文件名,扩展名) | data.file_path() | /新闻/具有.odp |
mime_type() | 随机mime Type | data.mime_type() | multipart/related |
数字类
参数 | 说明 | 用法 | 返回值-参考 |
---|
numerify() | 三位随机数字 | data.numerify() | 790 |
random_digit() | 0~9随机数 | data.random_digit() | 7 |
random_digit_not_null() | 1~9的随机数 | data.random_digit_not_null() | 8 |
random_int() | 随机数字,默认0~9999,可以通过设置min,max来设置 | data.random_int() | 6156 |
random_number() | 随机数字,参数digits设置生成的数字位数 | data.random_number() | 9156277 |
pyfloat() | left_digits=5 #生成的整数位数, | data.pyfloat() | 35395.685248474 |
right_digits=2 | 生成的小数位数, | / | / |
positive=True | 是否只有正数 | / | / |
pyint() | 随机Int数字(参考random_int()参数) | data.pyint() | 5319 |
pydecimal() | 随机Decimal数字(参考pyfloat参数) | data.pydecimal() | 657027598.921049121237006352183 |
时间信息类
参数 | 说明 | 用法 | 返回值-参考 |
---|
am_pm() | AM/PM | data.am_pm() | PM |
century() | 随机世纪 | data.century() | XII |
date() | 随机日期 | data.date() | 2001-04-07 |
date_between() | 随机生成指定范围内日期,参数:start_date,end_date取值:具体日期或者today,-30d,-30y类似 | data.date_between() | 2011-04-21 |
date_between_dates() | 随机生成指定范围内日期,用法同上 | data.date_between_dates() | 2022-11-15 |
date_object() | 随机生产从1970-1-1到指定日期的随机日期。 | data.date_object() | 2014-12-12 |
date_this_month() | 现在这个月的日期 | data.date_this_month() | 2022-11-12 |
date_this_year() | 现在这一年的日期 | data.date_this_year() | 2022-02-16 |
date_time() | 随机生成指定时间(1970年1月1日至今) | data.date_time() | 1988-07-07 04:42:25 |
date_time_ad() | 生成公元1年到现在的随机时间 | data.date_time_ad() | 1658-11-20 09:19:22 |
date_time_between() | 用法同dates | data.date_time_between() | 2001-06-05 01:11:45 |
future_date() | 未来日期 | data.future_date() | 2022-12-02 |
future_datetime() | 未来时间 | data.future_datetime() | 2022-11-28 06:07:21 |
month() | 随机月份 | data.month() | 10 |
month_name() | 随机月份(英文) | data.month_name() | 十二月 |
past_date() | 随机生成已经过去的日期 | data.past_date() | 2022-11-06 |
past_datetime() | 随机生成已经过去的时间 | data.past_datetime() | 2022-10-28 18:36:07 |
time() | 随机24小时时间 | data.time() | 05:58:43 |
timedelta() | 随机获取时间差 | data.timedelta() | / |
time_object() | 随机24小时时间,time对象 | data.time_object() | 19:28:21 |
time_series() | 随机TimeSeries对象 | data.time_series() | <generator object Provider.time_series at 0x7fc346f30190> |
timezone() | 随机时区 | data.timezone() | America/Noronha |
unix_time() | 随机Unix时间 | data.unix_time() | 55170123 |
year() | 随机年份 | data.year() | 1979 |
Python相关方法
参数 | 说明 | 用法 |
---|
profile() | 随机生成档案信息 | data.profile() |
simple_profile() | 随机生成简单档案信息 | data.simple_profile() |
pyiterable() | 随机生成可迭代对象 | |
pylist() | 随机生成列表 | |
pyset() | 随机生成集合 | |
pytuple() | 随机生成元组 | |
pydict() | 随机生成字典 | |