Article directory
-
- Faker Overview
- faker installation
- basic usage
- Internationalization support
- data category
-
- Character related
- address related
- car related
- Bank related
- Barcode related
- color related
- Company related
- credit card related
- currency related
- time related
- file related
- Coordinate correlation
- network related
- book related
- job related
- text related
- Coding related
- phone related
- file related
- Python-related
- ID card related
- user agent related
Faker Overview
Quoting an overview from the official documentation :
Faker is a Python package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you.
Faker is heavily inspired by PHP Faker, Perl Faker, and by Ruby Faker.
Faker is a python dependency package that can generate fake data. Whether you need to initialize a database, create beautiful XML documents, populate persistent storage for stress testing, or obtain anonymous data from product suppliers, Faker is just right.
faker installation
pip
You can install it using the command
pip install faker
basic usage
# 导入
from faker import Faker
# 创建faker对象(可添加 locale 参数添加特定区域代码,例如 "en_US","zh_CN" 等)
faker = Faker()
# 随机生成姓名
fake_name = faker,name()
# 随机生成姓名
fake_address = fake.address()
Internationalization support
Creating a Faker object is to input the internationalization codes of different regions, which can generate specific fake data according to the specified region, such as en_US
representing the United States region and zh_CN
representing the mainland China region. The following are internationalized region codes:
ar_EG - Arabic (埃及)
ar_PS - Arabic (巴勒斯坦)
ar_SA - Arabic (沙特阿拉伯)
bg_BG - Bulgarian (保加利亚)
bs_BA - Bosnian (波黑)
cs_CZ - Czech (捷克)
de_DE - German (德国)
dk_DK - Danish (丹麦)
el_GR - Greek (希腊)
en_AU - English (澳大利亚)
en_CA - English (加拿大)
en_GB - English (大不列颠)
en_NZ - English (新西兰)
en_US - English (美国)
es_ES - Spanish (西班牙)
es_MX - Spanish (墨西哥)
et_EE - Estonian (爱沙尼亚)
fa_IR - Persian (伊朗)
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 (格鲁吉亚)
ko_KR - Korean (韩国)
lt_LT - Lithuanian (立陶宛)
lv_LV - Latvian (拉脱维亚)
ne_NP - Nepali (尼泊尔)
nl_NL - Dutch (荷兰)
no_NO - Norwegian (挪威)
pl_PL - Polish (波兰)
pt_BR - Portuguese (巴西)
pt_PT - Portuguese (葡萄牙)
ro_RO - Romanian (罗马尼亚)
ru_RU - Russian (俄罗斯)
sl_SI - Slovene (斯洛文尼亚)
sv_SE - Swedish (瑞典)
tr_TR - Turkish (土耳其)
uk_UA - Ukrainian (乌克兰)
zh_CN - Chinese (中国大陆-简体字)
zh_TW - Chinese (中国台湾-繁体字)
Note:个别方法具有针对性,比如province()方法适用中国,但不适用美国及其他一些国家。
data category
Character related
fake.first_name() # 名字
fake.first_name_female() # 名字(女)
fake.first_name_male() # 名字(男)
fake.first_romanized_name() # 名字(罗马文)
fake.last_name() # 姓
fake.last_name_female() # 姓(女)
fake.last_name_male() # 姓(男)
fake.last_romanized_name() # 姓(罗马文)
fake.name() # 姓名
fake.name_female() # 姓名(女)
fake.name_male() # 姓名(男)
fake.prefix() # 称谓
fake.prefix_female() # 称谓(女)
fake.prefix_male() # 称谓(男)
fake.romanized_name() # 称谓(罗马文)
fake.suffix() # 姓名后缀(中文不适用)
address related
fake.address() # 地址
fake.building_number() # 楼名
fake.city() # 完整城市名
fake.city_name() # 城市名字(不带市县)
fake.city_suffix() # 城市后缀名
fake.country() # 国家名称
fake.district() # 地区
fake.postcode() # 邮编
fake.province() # 省
fake.street_address() # 街道地址
fake.street_name() # 街道名称
fake.street_suffix() # 街道后缀名
fake.country_code(representation="alpha-2") # 国家编号
car related
fake.license_plate() # 牌照
Bank related
ake.bank_country() # 银行所属国家
fake.bban() # 基本银行账号
fake.iban() # 国际银行代码
Barcode related
fake.ean(length=13) # EAN条形码
fake.ean13() # EAN13条形码
fake.ean8() # EAN8条形码
color related
fake.color_name() # 颜色名称
fake.hex_color() # 颜色十六进制值
fake.rgb_color() # 颜色RGB值
fake.rgb_css_color() # CSS颜色值
fake.safe_color_name() # 安全色
fake.safe_hex_color() # 安全色十六进制值
Company related
fake.bs() # 商业用词
fake.catch_phrase() # 妙句(口号)
fake.company() # 公司名称
fake.company_prefix() # 公司名称前缀
fake.company_suffix() # 公司名称后缀
credit card related
fake.credit_card_expire(start="now", end="+10y", date_format="%m/%y") # 过期年月
fake.credit_card_full(card_type=None) # 完整信用卡信息
fake.credit_card_number(card_type=None) # 信用卡卡号
fake.credit_card_provider(card_type=None) # 信用卡提供商
fake.credit_card_security_code(card_type=None) # 信用卡安全码
currency related
fake.cryptocurrency() # 加密货币代码+名称
fake.cryptocurrency_code() # 加密货币代码
fake.cryptocurrency_name() # 加密货币名称
fake.currency() # 货币代码+名称
fake.currency_code() # 货币代码
fake.currency_name() # 货币名称
time related
fake.am_pm() # AM或PM
fake.century() # 世纪
fake.date(pattern="%Y-%m-%d", end_datetime=None) # 日期字符串(可设置格式和最大日期)
fake.date_between(start_date="-30y", end_date="today") # 日期(可设置限定范围)
fake.date_between_dates(date_start=None, date_end=None) # 同上
fake.date_object(end_datetime=None) # 日期(可设置最大日期)
fake.date_of_birth(tzinfo=None, minimum_age=0, maximum_age=115) # 出生日期
fake.date_this_century(before_today=True, after_today=False) # 本世纪日期
fake.date_this_decade(before_today=True, after_today=False) # 本年代中的日期
fake.date_this_month(before_today=True, after_today=False) # 本月中的日期
fake.date_this_year(before_today=True, after_today=False) # 本年中的日期
fake.date_time(tzinfo=None, end_datetime=None) # 日期和时间
fake.date_time_ad(tzinfo=None, end_datetime=None, start_datetime=None) # 日期和时间(从001年1月1日到现在)
fake.date_time_between(start_date="-30y", end_date="now", tzinfo=None) # 日期时间(可设置限定范围)
fake.date_time_between_dates(datetime_start=None, datetime_end=None, tzinfo=None) # 同上
fake.date_time_this_century(before_now=True, after_now=False, tzinfo=None) # 本世纪中的日期和时间
fake.date_time_this_decade(before_now=True, after_now=False, tzinfo=None) # 本年代中的日期和时间
fake.date_time_this_month(before_now=True, after_now=False, tzinfo=None) # 本月中的日期和时间
fake.date_time_this_year(before_now=True, after_now=False, tzinfo=None) # 本年中的日期和时间
fake.day_of_month() # 几号
fake.day_of_week() # 星期几
fake.future_date(end_date="+30d", tzinfo=None) # 未来日期
fake.future_datetime(end_date="+30d", tzinfo=None) # 未来日期和时间
fake.iso8601(tzinfo=None, end_datetime=None) # iso8601格式日期和时间
fake.month() # 第几月
fake.month_name() # 月份名称
fake.past_date(start_date="-30d", tzinfo=None) # 过去日期
fake.past_datetime(start_date="-30d", tzinfo=None) # 过去日期和时间
fake.time(pattern="%H:%M:%S", end_datetime=None) # 时间(可设置格式和最大日期时间)
fake.time_delta(end_datetime=None) # 时间间隔
fake.time_object(end_datetime=None) # 时间(可设置最大日期时间)
fake.time_series(start_date="-30d", end_date="now", precision=None, distrib=None, tzinfo=None)
fake.timezone() # 时区
fake.unix_time(end_datetime=None, start_datetime=None) # UNIX时间戳
fake.year() # 某年
file related
fake.file_extension(category=None) # 文件扩展名
fake.file_name(category=None, extension=None) # 文件名
fake.file_path(depth=1, category=None, extension=None) # 文件路径
fake.mime_type(category=None) # MIME类型
fake.unix_device(prefix=None) # UNIX设备
fake.unix_partition(prefix=None) # UNIX分区
Coordinate correlation
fake.coordinate(center=None, radius=0.001) # 坐标
fake.latitude() # 纬度
fake.latlng() # 经纬度
fake.local_latlng(country_code="US", coords_only=False) # 返回某个国家某地的经纬度
fake.location_on_land(coords_only=False) # 返回地球上某个位置的经纬度
fake.longitude() # 经度
network related
fake.ascii_company_email(*args, **kwargs) # 企业邮箱(ascii编码)
fake.ascii_email(*args, **kwargs) # 企业邮箱+免费邮箱(ascii编码)
fake.ascii_free_email(*args, **kwargs) # 免费邮箱(ascii编码)
fake.ascii_safe_email(*args, **kwargs) # 安全邮箱(ascii编码)
fake.company_email(*args, **kwargs) # 企业邮箱
fake.domain_name(levels=1) # 域名
fake.domain_word(*args, **kwargs) # 二级域名
fake.email(*args, **kwargs) # 企业邮箱+免费邮箱
fake.free_email(*args, **kwargs) # 免费邮箱
fake.free_email_domain(*args, **kwargs) # 免费邮箱域名
fake.hostname(*args, **kwargs) # 主机名
fake.image_url(width=None, height=None) # 图片URL
fake.ipv4(network=False, address_class=None, private=None) # ipv4
fake.ipv4_network_class()
fake.ipv4_private(network=False, address_class=None) # 私有ipv4
fake.ipv4_public(network=False, address_class=None) # 公共ipv4
fake.ipv6(network=False) # ipv6
fake.mac_address() # MAC地址
fake.safe_email(*args, **kwargs) # 安全邮箱
fake.slug(*args, **kwargs) # URL中的slug
fake.tld() # 顶级域名
fake.uri() # URI
fake.uri_extension() # URI扩展
fake.uri_page() # URI页
fake.uri_path(deep=None) # URI路径
fake.url(schemes=None) # URL
fake.user_name(*args, **kwargs) # 用户名
book related
fake.isbn10(separator="-") # ISBN-10图书编号
fake.isbn13(separator="-") # ISBN-13图书编号
job related
fake.job() # 职位
text related
fake.paragraph(nb_sentences=3, variable_nb_sentences=True, ext_word_list=None) # 单个段落
fake.paragraphs(nb=3, ext_word_list=None) # 多个段落
fake.sentence(nb_words=6, variable_nb_words=True, ext_word_list=None) # 单个句子
fake.sentences(nb=3, ext_word_list=None) # 多个句子
fake.text(max_nb_chars=200, ext_word_list=None) # 单个文本
fake.texts(nb_texts=3, max_nb_chars=200, ext_word_list=None) # 多个文本
fake.word(ext_word_list=None) # 单个词语
fake.words(nb=3, ext_word_list=None, unique=False) # 多个词语
Coding related
fake.binary(length=1048576) # 二进制
fake.boolean(chance_of_getting_true=50) # 布尔值
fake.md5(raw_output=False) # Md5
fake.null_boolean() # NULL+布尔值
fake.password(length=10, special_chars=True, digits=True, upper_case=True, lower_case=True) # 密码
fake.sha1(raw_output=False) # SHA1
fake.sha256(raw_output=False) # SHA256
fake.uuid4(cast_to=<class 'str'>) # UUID4
phone related
fake.msisdn() # 完整手机号码(加了国家和国内区号)
fake.phone_number() # 手机号
fake.phonenumber_prefix() # 区号
file related
fake.profile(fields=None, sex=None) # 档案(完整)
fake.simple_profile(sex=None) # 档案(简单)
Python-related
fake.pybool() # Python布尔值
fake.pydecimal(left_digits=None, right_digits=None, positive=False, min_value=None, max_value=None) # Python十进制数
fake.pydict(nb_elements=10, variable_nb_elements=True, *value_types) # Python字典
fake.pyfloat(left_digits=None, right_digits=None, positive=False, min_value=None, max_value=None) # Python浮点数
fake.pyint(min_value=0, max_value=9999, step=1) # Python整型值
fake.pyiterable(nb_elements=10, variable_nb_elements=True, *value_types) # Python可
fake.pylist(nb_elements=10, variable_nb_elements=True, *value_types) # Python列表
fake.pyset(nb_elements=10, variable_nb_elements=True, *value_types) # Python集合
fake.pystr(min_chars=None, max_chars=20) # Python字符串
fake.pystruct(count=10, *value_types) # Python结构
fake.pytuple(nb_elements=10, variable_nb_elements=True, *value_types) # Python元组
ID card related
fake.ssn(min_age=18, max_age=90) # 身份证
user agent related
fake.android_platform_token() # 安卓
fake.chrome(version_from=13, version_to=63, build_from=800, build_to=899) # Chrome
fake.firefox() # FireFox
fake.internet_explorer() # Ie
fake.ios_platform_token() # ios
fake.linux_platform_token() # Linux
fake.linux_processor() # Linux处理器
fake.mac_platform_token() # Mac
fake.mac_processor() # Mac处理器
fake.opera() # Opera
fake.safari() # Safari
fake.user_agent() # 随机用户代理
fake.windows_platform_token() # Windows