python:假的身份信息生成模块faker

前言

发现一个有趣的python模块(faker),他支持生成多个国家语言下的假身份信息,包含人名、地址、邮箱、公司名、电话号码、甚至是个人简历!

你可以拿它做一些自动化测试,或一些跟假数据有关的填充工作。

代码

python 复制代码
from faker import Faker

# 英文支持:en_US
# 中文支持:zh_CN (中国) zh_TW (中国台湾)
# 法语支持:fr_FR (法国)
# 德语支持:de_DE (德国)
# 西班牙语支持:es_ES (西班牙)
# 日语支持:ja_JP (日本)
# 俄语支持:ru_RU (俄罗斯)
print('-----------------------------------')

# 创建一个 Faker 实例
# 默认地区为美国:en_US
fake = Faker()

# 生成一些基本的假数据
print(fake.name())           # 姓名
print(fake.address())        # 地址
print(fake.email())          # 电子邮件
print(fake.company_email())          # 公司电子邮件
print(fake.phone_number())   # 电话号码
print(fake.job())            # 职业
print(fake.company())        # 公司名
print(fake.simple_profile(sex=None)) # 简略个人信息,包括用户名,姓名,性别,地址,邮箱,出生日期。
print(fake.profile(sex=None)) # 详略个人信息,比简略个人信息多出公司名、血型、工作、位置、域名等等信息。

# 参数选项:length:密码长度;special_chars:是否能使用特殊字符;digits:是否包含数字;upper_case:是否包含大写字母;lower_case:是否包含小写字母。
# 默认情况:length=10, special_chars=True, digits=True, upper_case=True, lower_case=True
print(fake.password()) # 密码

print(fake.date())  # 生成一个随机日期 (yyyy-mm-dd)
print(fake.date_of_birth())  # 生成一个随机出生日期
print(fake.text(max_nb_chars=200))  # 生成一段随机文本,长度不超过200字符
print(fake.credit_card_number(card_type=None))  # 生成随机的信用卡号码
print(fake.date_time())            # 随机的日期时间
print(fake.date_this_century())   # 本世纪内的随机日期
print(fake.date_time_this_year())  # 今年内的随机日期时间

print('-------------------------------------------')
# 生成中文假数据
fake_zh = Faker('zh_CN')

print(fake_zh.name())        # 中文名
print(fake_zh.address())     # 中文地址
print(fake_zh.email())          # 电子邮件
print(fake_zh.phone_number())   # 电话号码
print(fake_zh.simple_profile(sex='M')) # 简略个人信息,包括用户名,姓名,性别,地址,邮箱,出生日期。
print(fake_zh.profile(sex='M')) # 详略个人信息,比简略个人信息多出公司名、血型、工作、位置、域名等等信息。
print(fake_zh.job())            # 职业

# fake.company():公司名,比如惠派国际公司信息有限公司
# fake.company_suffix():公司名后缀(公司性质),比如网络有限公司
# fake.company_prefix():公司名前缀,比如鑫博腾飞
print(fake_zh.company())        # 公司名,比如惠派国际公司信息有限公司
print(fake_zh.company_suffix())        # 公司名后缀(公司性质),比如网络有限公司
print(fake_zh.company_prefix())        # 公司名前缀,比如鑫博腾飞

print(fake_zh.text(max_nb_chars=200))  # 生成一段随机文本,长度不超过200字符

# M:代表 Male(男性)
# F:代表 Female(女性)
相关推荐
测试员周周6 小时前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例
dfdfadffa7 小时前
如何用模块化方案组织一个可扩展的前端组件库项目
jvm·数据库·python
2301_812539677 小时前
SQL中如何高效实现分组数据的批量更新_利用窗口函数与JOIN
jvm·数据库·python
RSTJ_16257 小时前
PYTHON+AI LLM DAY THREETY-NINE
开发语言·人工智能·python
2501_901200537 小时前
如何实现SQL存储过程存储过程参数标准化_统一命名规范
jvm·数据库·python
运气好好的7 小时前
Golang怎么用embed嵌入SQL文件_Golang如何将SQL迁移文件嵌入Go程序统一管理【技巧】
jvm·数据库·python
AC赳赳老秦8 小时前
政企内网落地:OpenClaw 离线环境深度适配方案,无外网场景下本地化模型对接与全功能使用
java·大数据·运维·python·自动化·deepseek·openclaw
星越华夏8 小时前
python 将相对路径变成绝对路径
python
l1t8 小时前
mingw和Linux中的gcc和llvm编译器编译的pocketpy执行同一个python脚本的不同效果
linux·运维·python
砚底藏山河8 小时前
股票数据API接口:如何获取股票历历史分时KDJ数据
java·python·maven