注册 登录

清河洛

python中生成各种随机数据的Faker库

qingheluo2022-11-21清河洛1123
安装:pip install Faker引用:import FakerFaker.Faker.seed(int):设定随机种子,种子相同的生成器实例获取的结果完全相同创建和初始化faker生成器:fake=Faker.Faker(locale='en_US')locale指定生成的数据的语言,可以传入一个LCID字符串表示一个语言 也可以传入一个由LCID字符串组成的数组,生成器每次生成将会随机选择一个语言 常用的LCID字符串 zh-CN:简体中文 zh-TW:繁体中文 ja_JP:日本日语 en_US:美国英语 en-GB:英国英语 f...

安装:pip install Faker

引用:import Faker

Faker.Faker.seed(int):设定随机种子,种子相同的生成器实例获取的结果完全相同

创建和初始化faker生成器:fake=Faker.Faker(locale='en_US')

locale指定生成的数据的语言,可以传入一个LCID字符串表示一个语言
也可以传入一个由LCID字符串组成的数组,生成器每次生成将会随机选择一个语言
常用的LCID字符串
    zh-CN:简体中文
    zh-TW:繁体中文
    ja_JP:日本日语
    en_US:美国英语
    en-GB:英国英语
    fr-FR:法国法语
    de-DE:德国德语
    ko_KR:韩国韩语
    ro:俄语
    th:泰语

fake.unique:唯一值,返回的值在实例的生存期内是唯一的

fake.unique.clear()允许再次返回以前生成的值

无性质的数据

数字

random_digit():返回随机数字

random_digit_not_null():返回随机非零数字

random_digit_or_empty():返回随机数字或空字符串

random_digit_not_null_or_empty():返回随机非零数字或空字符串

random_int(min=0, max=9999,step=1):返回随机int

pyint(min_value=0, max_value=9999, step=1):返回int值

random_number(digits=None):返回指定长度的数字,不指定则长度1-9随机

randomize_nb_elements(number=10,le=False,ge=False,min=None,max=None)

根据number按照指定规则返回一个数字
le表示是否向下浮动,返回的数字最大值为number,最小值为number的60%
ge表示是否向上浮动,返回的数字最小值为number,最大值为number的140%
min和max表示返回的数字最小值和最大值,如果和le、ge冲突会优先满足min和max

pyfloat(left_digits=None, right_digits=None, positive=False, min_value=None, max_value=None)

返回float值
left_digits整数位
right_digits小数位
positive表示是否全部为正数

numerify(text='###'):按text指定的格式输出随机数字字符串

'#'表示一个随机数字
'%'表示一个随机非零数字
'!'表示一个随机数字或空字符串
'@'表示一个随机的非零数字或空字符串

hexify(text='^^^^',upper=False):按text指定的格式输出16进制字符,upper表示是否大写

century(min_length=None,max_length=None):随机返回希腊数字字符串

布尔值

pybool():随机返回bool值

boolean(chance_of_getting_true=50):返回bool值,参数表示返回True的概率

null_boolean():返回None或bool值,三个值每个概率相等

字符串

random_lowercase_letter():返回小写字符

random_uppercase_letter():返回大写字符

random_letter():返回大小写字符

random_letters(length=16):返回length个大小写字符组成的数组

lexify(text='????',letters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')

按text指定的格式输出letters中随机字符,一个问号表示一个字符

bothify(text='## ??',letters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')

按指定格式输出指定的数字和字符组成的字符串

word(part_of_speech=None,ext_word_list=None)

返回一个单词,part_of_speech表示返回具体词义的单词,测试无论什么值都报错
ext_word_list如果不为None,那么会忽略part_of_speech参数

words(nb=3,part_of_speech=none,ext_word_list=None,unique=False)

返回包含nb个元素使用word()默认参数生成的单词列表

sentence(nb_words=6,variable_nb_words=True,ext_word_list=None)

返回一个字符串,该字符串由nb_words个单词组成
variable_nb_words表示单词数是否上下随机40%浮动
ext_word_list为一个list,指定组成句子的字符

sentences(nb=3,ext_word_list=None)

返回包含nb个元素使用sentence()默认参数生成的句子列表

paragraph(nb_sentences=3,variable_nb_sentences=True,ext_word_list=None)

返回一个段落字符串,一个段落由多个句子组成

paragraphs(nb=3,ext_word_list=None)

返回包含nb个元素使用paragraph()的默认参数生成的段落列表

关于姓名

first_name(min_length=None,max_length=None):获取不含姓的名字

first_name_as_list():返回由131个不含姓的名字组成的列表

first_name_female(min_length=None,max_length=None):获取不含姓的女性名字

first_name_female_as_list()

first_name_male(min_length=None,max_length=None):获取不含姓的男性名字

first_name_male_as_list()

last_name(min_length=None,max_length=None):获取姓

last_name_as_list()

name():获取姓名

name_female():女性化姓名

name_male():男性化姓名

profile():获取个人信息对象,对象包含属性

job:工作岗位
company:公司名称
ssn:身份证号码
residence:住宅地址
current_location:所在位置经纬度
blood_group:血型
website:网址
username:用户名
name:姓名
sex:性别
address:工作地址
mail:邮箱
birthdate:生日

号码相关

ssn():身份证号

bban():银行卡号,前4位为银行代码的大写字符

credit_card_number(card_type=None):银行卡卡号

卡类型默认None会随机选择卡类型
可用的卡类型有'amex', 'diners', 'discover', 'jcb', 'jcb15', 'jcb16', 'maestro', 'mastercard', 'visa', 'visa13', 'visa16', 'visa19'

ean(length=13,prefixes=()):条形码号码,prefixes为号码前缀

license_plate():汽车牌照号

country_calling_code(min_length=None,max_length=None):返回国际区号,如"+86"

phone_number():返回随机手机号码

phonenumber_prefix():随机手机号码号段,如"133"

关于地址

address():用空格隔开的随机地址和邮编字符串

building_number():中文环境下返回"[a-zA-Z]座"字符串

city():城市名称

city_name():不带后缀的城市名

city_suffix():城市的后缀,如"市/县/镇"

district():区名称

province():省名称

country(min_length=None,max_length=None):随机国家

postcode():邮编

street_address():返回不含国家和城市的地址

street_name():街道名称

street_suffix(min_length=None,max_length=None):街道的后缀,如"大道/街/路"

latitude():地理坐标(纬度)

longitude():地理坐标(经度)

时间和日期

am_pm():随机返回'AM'或'PM'字符串

date(format='%Y-%m-%d', end_datetime=None):返回1970-01-01至指定时间(默认至今)之间的随机日期字符串

end_datetime可以传入datetime模块的date、datetime、timedelta数据
    也可传入简单字符串,如"2022-10-22","-30y"(减30年)
    也可传入int格式的时间戳

date_between(start_datetime='-30y',end_datetime='today')返回的指定时间之间随机的datetime.date格式日期

date_of_birth(tzinfo=None,minimum_age=0,maximum_age=115):根据年龄区间返回一个随机的datetime.date格式出生日期

year():获取随机年份数字字符串

month():获取随机月份数字(有前导0)字符串

month_name():获取随机月名称字符串

day_of_month():随机获取日(有前导0)的数字字符串

day_of_week():随机获取周几的字符串

time(format="%H:%M:%S",end_datetime=None):获取随机时间字符串

timezone():获取随机时区字符串

unix_time(end_datetime=None,start_datetime=None):获取随机时间戳

工作相关

job(min_length=None,max_length=None):职业名称

company():公司全名

company_prefix():公司的名称,不带后缀

company_suffix(min_length=None,max_length=None):公司的后缀,如"信息有限公司/传媒有限公司"

网络相关

company_email():随机公司邮箱(域名随机)

free_email():随机邮箱,域名为主流邮箱服务商的域名

email(safe=True,domain='None'):返回domain指定的域名的随机邮箱

ipv4(network=False,address_class=None,private=False)

返回ipv4地址字符串
address_class表示类别,可用值'a','b','c'
private:表示是否私有

ipv4_private(network=False,address_class=None):返回私有IP

ipv4_public(network=False,address_class=None):返回公网IP

ipv6(networkFalse):返回ipv6地址字符串

mac_address():返回MAC地址字符串

port_number(is_system=False,is_user=False,is_dynamic=False)

返回一个端口号
is_system表示是否为系统常用端口号
is_user表示是否为用户常用软件使用的端口号
is_dynamic表示动态/专用/临时端口

domain_name(levels=1):生成域名,参数表示域名中点的个数

domain_word():域词(即,不包含后缀)

tld(min_length=None,max_length=None):返回域名后缀

uri():返回随机的网址

user_name():用于网络登录的用户名

password(length=10, special_chars=True,digits=True,upper_case=True,lower_case=True)

返回可用作密码的字符串
special_chars(特殊字符"!@#$%^&*()_+")、digits(数字)、upper_case(大写)、lower_case(小写)
如果为True,则保证至少出现相应类别中的一个字符

user_agent

android_platform_token():含安卓标识的字符串,如"Android 8.1.0"

ios_platform_token():含iOS标识的字符串,如"iPhone; CPU iPhone OS 10_3_4 like Mac OS X"

linux_platform_token():含linux标识的字符串,如"X11; Linux x86_64"

mac_platform_token():含MAC标识的字符串,如"Macintosh; U; Intel Mac OS X 10_12_6"

windows_platform_token():含windows标识的字符串,如"Windows NT 10.0"

chrome():Chrome浏览器用户代理字符串

firefox():Firefox浏览器用户代理字符串

internet_explorer():IE浏览器用户代理字符串

opera():Opera浏览器用户代理字符串

safari():Safari浏览器用户代理字符串

user_agent():随机返回浏览器用户代理字符串

文件相关

file_extension(category=None):根据category指定的类别返回随机后缀字符串

category可用值:'audio','image','office','text','video'

file_name(category=None,extension=None):获取含后缀的文件名

extension为指定文件后缀,如果设置了该值,会忽略category值

file_path(depth=1, category=None, extension=None,absolute=True)

返回一个包含路径和文件名的字符串
absolute表示是否返回绝对路径

mime_type(category=None):根据category指定的类别返回随机MIME类型字符串

category可用值:'application','audio','image','message','model','multipart','text','video'

csv(header=None,data_columns=('{{name}}','{{address}}'),num_rows=10,include_row_ids=False)

生成多行逗号分隔的值
header为一个元组或列表,指定标题
data_columns为每行的内容,使用对应函数名获取指定数据
include_row_ids表示是否在第一列添加ID列

加密摘要

md5(raw_output=False):获取MD5值,raw_output表示是否返回二进制

sha1(raw_output=False):获取sha1值,raw_output表示是否返回二进制

sha256(raw_output=False):获取sha256值

选择相关

random_element(elements=('a', 'b', 'c'),min_element_length=None,max_element_length=None)

从elements序列中随机取出一个
后两个参数表示筛选取出元素的长度

random_elements(elements=('a', 'b', 'c'), length=None,unique=False,use_weighting=None,min_element_length=None,max_element_length=None)

返回从elements序列中随机取出length个元素组成的列表
length不指定则默认不超过elements的元素总数的随机值
unique表示取出的值是否不重复

random_sample(elements=('a', 'b', 'c'),length=None)

返回从elements序列中随机取出length个元素组成的列表

random_choices(elements=('a', 'b', 'c'),length=None)

返回从elements序列中随机取出length个元素组成的列表
length不指定则默认不超过elements的元素总数的随机值

颜色相关

color(hue=None,luminosity=None,color_format='hex')

返回一个表示颜色的字符串
此方法首先创建在HSV颜色模型中表示的颜色,然后将其转换为所需的格式字符串
hue 为一个int时表示HSV中的H值
    为两个int组成的元组或列表时H值将从该范围内随机选择
    为字符串时H值将从字符串对应颜色的H范围内随机选择,可用的颜色字符串'monochrome', 'red', 'orange', 'yellow', 'green', 'blue', 'purple','pink'
luminosity控制HSV中S和V的表现,可选值'bright','dark','light','random'
color_format表示输出的颜色字符串格式,默认为16进制,可选值'hex','rgb','hsv','hsl'

hex_color():返回随机16进制颜色字符串

rgb_color():返回随机RGB颜色字符串

rgb_css_color():返回随机CSS中使用的RGB颜色字符串

safe_hex_color():返回随机16进制web安全色字符串

其他

language_code():随机的i18n语言代码(如en)

locale():随机的i18n语言环境代码(如en_US)



网址导航