✍58 Faker 造假数据
以前听说过造假数据的库, 但没有上心, 回想前段时间为造假数据还自己花不少时间写脚本, Faker现成的库却不去用, 真是无力吐槽
安装
pip install faker
简易上手
1.制造个人信息示例
from faker import Faker
# 实例对象
fake = Faker(locale='zh_CN') # 中文,默认是英文
name = fake.name() # 名字
id = fake.ssn() # 身份证
com = fake.company_prefix() # 公司(短)
email = fake.email() # email
print(name, id, com, email)
"""
胡岩 330902197406012731 联通时科 qwen@example.org
"""
2.常见语言选择:
- 简体中文:zh_CN
- 繁体中文:zh_TW
- 美国英文:en_US
- 英国英文:en_GB
- 德文:de_DE
- 日文:ja_JP
- 韩文:ko_KR
- 法文:fr_FR
Faker 官网更多选择: https://faker.readthedocs.io/en/master/
常用方法
dir(fake)
查看包含的方法
func_list = [i for i in dir(fake) if not i.startswith("_")] # 排除 "_" 开头的方法
print(len(func_list)) # 267 ()
print(func_list) # ...
目前Faker支持267种数据,此外还支持自己进行扩展
1、地理信息类
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( )
:街、路
2、基础信息类
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( )
:随机生成手机号段
3、计算机基础、Internet信息类
ascii_company_email( )
:随机ASCII公司邮箱名ascii_email( )
:随机ASCII邮箱:company_email( )
:email( )
:safe_email( )
:安全邮箱
4、网络基础信息类
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地址
5、浏览器信息类
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信息
6、数字类
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参数)
7、文本、加密类
pystr( )
:随机字符串random_element( )
:随机字母random_letter( )
:随机字母paragraph( )
:随机生成一个段落paragraphs( )
:随机生成多个段落,通过参数nb来控制段落数,返回数组sentence( )
:随机生成一句话sentences( )
:随机生成多句话,与段落类似text( )
:随机生成一篇文章(不要幻想着人工智能了,至今没完全看懂一句话是什么意思)word( )
:随机生成词语words( )
:随机生成多个词语,用法与段落,句子,类似binary( )
:随机生成二进制编码boolean( )
:True/Falselanguage_code( )
:随机生成两位语言编码locale( )
:随机生成语言/国际 信息md5( )
:随机生成MD5null_boolean( )
:NULL/True/Falsepassword( )
:随机生成密码,可选参数:length
:密码长度special_chars
:是否能使用特殊字符digits
:是否包含数字upper_case
:是否包含大写字母lower_case
:是否包含小写字母
sha1( )
:随机SHA1sha256( )
:随机SHA256uuid4( )
:随机UUID
8、时间信息类
date( )
:随机日期date_between( )
:随机生成指定范围内日期,参数:start_date,end_datedate_between_dates( )
:随机生成指定范围内日期,用法同上date_object( )
:随机生产从1970-1-1到指定日期的随机日期date_time( )
:随机生成指定时间(1970年1月1日至今)date_time_ad( )
:生成公元1年到现在的随机时间date_time_between( )
:用法同datesfuture_date( )
:未来日期future_datetime( )
:未来时间month( )
:随机月份month_name( )
:随机月份(英文)past_date( )
:随机生成已经过去的日期past_datetime( )
:随机生成已经过去的时间time( )
:随机24小时时间timedelta( )
:随机获取时间差time_object( )
:随机24小时时间,time对象time_series( )
:随机TimeSeries对象timezone( )
:随机时区unix_time( )
:随机Unix时间year( )
:随机年份
9、python 相关方法
profile( )
:随机生成档案信息simple_profile( )
:随机生成简单档案信息pyiterable( )
: 可迭代器pylist( )
: 列表pyset( )
: 集合pystruct( )
: 结构体(类)pytuple( )
: 元组pydict( )
: 字典
参考 : https://www.cnblogs.com/jinjiangongzuoshi/p/15714915.html