Faker

Faker 是Python的第三方库,用于生成测试用的假数据。

它可以帮助开发者生成各种各样的伪数据,如姓名、地址、电话号码、公司名等,广泛用于测试、数据填充、生成样本等场景。

安装

pip install faker

使用

简单示例:

from faker import Faker

# 创建 Faker 对象,默认 en_US 时区
fake = Faker()

# 指定 zh_CN 中国时区
fake = Faker(local='zh_CN')

# 获取随机姓名
fake.name()

常用的时区:

本地化参数 语言/地区 主要时区 适用场景
zh_CN 中文(中国) Asia/Shanghai 中文姓名、地址、日期等
en_US 英文(美国) America/New_York 英文姓名、地址、日期等
en_GB 英文(英国) Europe/London 英文(英国)姓名、地址、日期等
ja_JP 日文(日本) Asia/Tokyo 日文姓名、地址、日期等
de_DE 德文(德国) Europe/Berlin 德文姓名、地址、日期等
fr_FR 法文(法国) Europe/Paris 法文姓名、地址、日期等
es_ES 西班牙文(西班牙) Europe/Madrid 西班牙文姓名、地址、日期等
it_IT 意大利文(意大利) Europe/Rome 意大利文姓名、地址、日期等
pt_BR 葡萄牙语(巴西) America/Sao_Paulo 葡萄牙文(巴西)姓名、地址、日期等
ru_RU 俄文(俄罗斯) Europe/Moscow 俄文姓名、地址、日期等
ko_KR 韩文(韩国) Asia/Seoul 韩文姓名、地址、日期等
ar_SA 阿拉伯语(沙特阿拉伯) Asia/Riyadh 阿拉伯文姓名、地址、日期等
pl_PL 波兰语(波兰) Europe/Warsaw 波兰文姓名、地址、日期等
nl_NL 荷兰语(荷兰) Europe/Amsterdam 荷兰文姓名、地址、日期等
tr_TR 土耳其语(土耳其) Europe/Istanbul 土耳其文姓名、地址、日期等

个人信息

方法名 描述
name() 生成一个完整的随机姓名(包含名和姓)。
first_name() 生成一个随机的名字。
last_name() 生成一个随机的姓氏。
middle_name() 生成一个随机的中间名。
prefix() 生成一个随机的称谓,如“Mr.”、“Dr.”等。
suffix() 生成一个随机的后缀,如“Jr.”、“Sr.”等。
first_name_male() 生成一个随机的男性名字。
first_name_female() 生成一个随机的女性名字。
last_name_male() 生成一个随机的男性姓氏。
ssn(min_age=18, max_age=90) 生成一个随机的身份证。
last_name_female() 生成一个随机的女性姓氏。

社交信息

方法名 描述
user_name() 生成一个随机的社交媒体用户名。
twitter_username() 生成一个随机的 Twitter 用户名。
facebook_username() 生成一个随机的 Facebook 用户名。
instagram_username() 生成一个随机的 Instagram 用户名。
website() 生成一个随机的社交网站 URL 地址。

地址信息

方法名 描述
address() 生成一个完整的随机地址(包括街道、城市、州、邮政编码)。
street_name() 生成一个随机的街道名称。
street_address() 生成一个包含门牌号的随机街道地址。
city() 生成一个随机的城市名称。
state() 生成一个随机的州或省名称。
state_abbr() 生成一个州或省的缩写。
country() 生成一个随机的国家名称。
country_code() 生成一个国家的 ISO 代码(例如:“US”)。
zip_code() 生成一个随机的邮政编码。
latitude() 生成一个随机的纬度值。
longitude() 生成一个随机的经度值。
geo_coordinate() 生成一个包含纬度和经度的随机坐标。

日期时间

方法名 描述
date() 生成一个随机的日期。
date_this_year() 生成一个今年内的随机日期。
date_this_month() 生成一个本月内的随机日期。
date_this_century() 生成一个本世纪内的随机日期。
time() 生成一个随机的时间。
date_time() 生成一个随机的日期时间。
date_time_this_year() 生成一个今年内的随机日期和时间。
date_time_this_month() 生成一个本月内的随机日期和时间。
date_time_this_century() 生成一个本世纪内的随机日期和时间。
time_between() 生成一个指定时间范围之间的随机时间。
time_before() 生成一个当前时间之前的随机时间。
time_after() 生成一个当前时间之后的随机时间。
unix_time() 生成一个 Unix 时间戳(自 1970 年 1 月 1 日以来的秒数)。
past_date() 生成一个过去的日期。
future_date() 生成一个未来的日期。
timezone() 设置时区(如Asia/Shanghai​、America/New_York​等)。

公司职业信息

方法名 描述
company() 生成一个随机的公司名称。
company_prefix() 生成一个随机的公司前缀,如“Tech”、“Solutions”等。
company_suffix() 生成一个随机的公司后缀,如“Inc.”、“Ltd.”等。
job() 生成一个随机的职业名称。
job_title() 生成一个随机的工作职称。
bs() 生成一个随机的商业语言(如广告语、营销语言)。

联系方式信息

方法名 描述
email() 生成一个随机的电子邮件地址。
safe_email() 生成一个安全的电子邮件地址(通常包含真实的域名)。
free_email() 生成一个免费的电子邮件地址(如 Gmail、Yahoo)。
company_email() 生成一个公司的电子邮件地址(通常包含公司域名)。
phone_number() 生成一个随机的电话号码。
cell_phone() 生成一个随机的手机号码。
toll_free_number() 生成一个免费的电话号码。
country_calling_code() 生成一个国家的呼叫代码(如“+1”、“+44”)。

信用卡信息

方法名 描述
credit_card_number() 生成一个随机的信用卡号码。
credit_card_expire() 生成一个随机的信用卡到期日期。
credit_card_provider() 生成一个随机的信用卡提供商名称(如 VISA、MasterCard)。
credit_card_type() 生成一个随机的信用卡类型(如“Visa”、“MasterCard”)。
credit_card_security_code() 生成一个随机的信用卡安全码(CVC)。

文档信息

方法名 描述
ssn() 生成一个随机的社会保障号码(SSN)。
isbn() 生成一个随机的 ISBN 书号。
mac_address() 生成一个随机的 MAC 地址。
uuid4() 生成一个随机的 UUID(版本 4)。
file_name() 生成一个随机的文件名。
mime_type() 生成一个随机的 MIME 类型(如“image/jpeg”、“text/html”)。

网络信息

方法名 描述
url() 生成一个随机的 URL。
domain_name() 生成一个随机的域名。
domain_word() 生成一个随机的域名词(如“example”)。
ipv4() 生成一个随机的 IPv4 地址。
ipv6() 生成一个随机的 IPv6 地址。
mac_address() 生成一个随机的 MAC 地址。
user_name() 生成一个随机的用户名。
password() 生成一个随机的密码。

食品信息

方法名 描述
food() 生成一个随机的食品名称。
fruit() 生成一个随机的水果名称。
vegetable() 生成一个随机的蔬菜名称。
restaurant_name() 生成一个随机的餐厅名称。
meal() 生成一个随机的餐饮名称。

艺术信息

方法名 描述
artist() 生成一个随机的艺术家姓名。
song() 生成一个随机的歌曲名称。
album() 生成一个随机的专辑名称。
music_genre() 生成一个随机的音乐类型(如"Pop"、“Rock”)。
band() 生成一个随机的乐队名称。

政法信息

方法名 描述
lawyer() 生成一个随机的律师姓名。
court() 生成一个随机的法院名称。
case_number() 生成一个随机的案件编号。
jurisdiction() 生成一个随机的司法管辖区名称。

娱乐信息

方法名 描述
game() 生成一个随机的游戏名称。
board_game() 生成一个随机的棋盘游戏名称。
video_game() 生成一个随机的视频游戏名称。
console() 生成一个随机的游戏主机名称(如PlayStation、Xbox)。

运动信息

方法名 描述
team() 生成一个随机的运动队名称。
league() 生成一个随机的体育联赛名称。
sport() 生成一个随机的体育运动名称。

银行信息

方法名 描述
credit_card_number() 生成一个随机的信用卡号码。
credit_card_expire() 生成一个随机的信用卡到期日期(MM/YY 格式)。
credit_card_provider() 生成一个随机的信用卡提供商名称(如 VISA、MasterCard)。
credit_card_type() 生成一个随机的信用卡类型(如“Visa”、“MasterCard”)。
credit_card_security_code() 生成一个随机的信用卡安全码(CVC 或 CVV)。
bank_name() 生成一个随机的银行名称。
iban() 生成一个随机的国际银行帐号(IBAN)。
swift() 生成一个随机的银行 SWIFT 代码。
bic() 生成一个随机的银行 BIC 代码(银行标识代码)。
routing_number() 生成一个随机的美国银行路由号码(仅适用于美国)。
account_number() 生成一个随机的银行账户号码。
bank_account_name() 生成一个随机的银行账户名。
currency_code() 生成一个随机的货币代码(如 USD、EUR、GBP 等)。

条形码信息

方法名 描述
ean() 生成一个随机的 EAN-8 条形码数字。
ean_13() 生成一个随机的 EAN-13 条形码数字。
isbn() 生成一个随机的 ISBN 条形码数字(适用于书籍)。
isbn13() 生成一个随机的 ISBN-13 条形码数字(适用于书籍)。
upc() 生成一个随机的 UPC-A 条形码数字。
random_number() 生成一个随机的数字,可以用于生成条形码数据。
random_int() 生成一个随机的整数,可以用于生成条形码数据。

颜色信息

方法名 描述
color_name() 生成一个随机的颜色名称,如“red”、 “blue”、“green”等。
hex_color() 生成一个随机的颜色的十六进制代码(例如:#FF5733)。
rgb_color() 生成一个随机的 RGB 颜色值(例如:rgb(255, 87, 51))。
rgb_integer() 生成一个随机的 RGB 颜色值,返回每个颜色分量的整数值(例如:255, 87, 51)。
safe_color_name() 生成一个随机的安全颜色名称(即常见的网页安全颜色)。
hex_color_with_opacity() 生成一个带透明度的随机颜色的十六进制代码(例如:#FF5733A0)。
rgba_color() 生成一个随机的 RGBA 颜色值,带有透明度(例如:rgba(255, 87, 51, 0.5))。
hsl_color() 生成一个随机的 HSL 颜色值(例如:hsl(9, 100%, 60%))。

用户代理信息

方法名 描述
user_agent() 生成一个随机的用户代理字符串,模拟浏览器的用户代理。
chrome() 生成一个模拟 Google Chrome 浏览器的用户代理字符串。
firefox() 生成一个模拟 Mozilla Firefox 浏览器的用户代理字符串。
safari() 生成一个模拟 Apple Safari 浏览器的用户代理字符串。
internet_explorer() 生成一个模拟 Internet Explorer 浏览器的用户代理字符串。
opera() 生成一个模拟 Opera 浏览器的用户代理字符串。
linux_platform() 生成一个随机的模拟 Linux 操作系统的用户代理字符串。
mac_platform() 生成一个随机的模拟 macOS 操作系统的用户代理字符串。
win_platform() 生成一个随机的模拟 Windows 操作系统的用户代理字符串。

Python信息

方法名 描述
python_version() 生成一个随机的 Python 版本号,类似于3.8.10​的格式。
python_version_tuple() 生成一个包含 Python 版本号的元组,例如(3, 8, 10)​。
programming_language() 生成一个随机的编程语言名称,包含如 Python、Java、C++ 等编程语言。
language_code() 生成一个编程语言的 ISO 639-1 语言代码(如:en、fr、de)。

档案信息

方法名 描述
file_name() 生成一个随机的文件名,通常会包括文件名和扩展名。
file_path() 生成一个随机的文件路径,包括文件名和目录结构。
file_extension() 生成一个随机的文件扩展名(如.txt​、.pdf​、.jpg​等)。
mime_type() 生成一个随机的 MIME 类型,用于指定文件的格式类型。
mime_types() 生成一个随机的 MIME 类型列表。
word_extension() 生成一个随机的常见文档文件扩展名,如.doc​、.pdf​、.txt​等。
image_extension() 生成一个随机的图片文件扩展名,如.jpg​、.png​、.gif​等。
binary_extension() 生成一个随机的二进制文件扩展名,如.exe​、.bin​、.dat​等。
text_extension() 生成一个随机的文本文件扩展名,如.txt​、.md​、.rst​等。
audio_extension() 生成一个随机的音频文件扩展名,如.mp3​、.wav​、.flac​等。
video_extension() 生成一个随机的视频文件扩展名,如.mp4​、.avi​、.mkv​等。

文本信息

方法名 描述
random_digit() 生成一个随机的单个数字(0-9)。
random_letter() 生成一个随机的字母(A-Z)。
word() 生成一个随机的单词(常用于生成虚拟数据)。
sentence() 生成一个随机的句子。
paragraph() 生成一个随机的段落。
text() 生成一个随机的文本,通常用于生成长段落内容。
slug() 生成一个适用于 URL 的随机字符串。

其他随机信息

方法名 描述
boolean() 生成一个随机的布尔值True​或False​。
random_element() 从给定列表中随机选择一个元素。
random_choice() 从给定序列中随机选择一个元素。