Python 语言学习:faker 库

一个可以生成一些随机,假数据的库
更新于: 2022-03-11 04:46:04

安装

pip install Faker

入门使用

from faker import Faker
# 默认是英文的,这里我设置成中文
fake = Faker('zh_CN')

r1 = fake.name()
# 'Lucy Cechtelar'

r2 = fake.address()
# '426 Jordy Lodge
#  Cartwrightshire, SC 88120-6700'

r3 = fake.text()
# 'Sint velit eveniet. Rerum atque repellat v

print(r1, r2, r3)

语言支持

简体中文:zh_CN
繁体中文:zh_TW
美国英文:en_US
英国英文:en_GB
韩文:ko_KR
日文:ja_JP

常用函数

  • 人物信息相关
  • 地理信息类
  • 公司服务
  • 网络信息相关
  • 文本、加密信息类
  • 编码相关
name():随机生成全名
name_female():男性全名
name_male():女性全名
first_name_female():女性名
first_name_male():男性名
last_name_female():女姓
last_name_male():男姓
ssn():生成身份证号
phone_number():随机生成手机号

fake.country():国家
fake.country_code():国家编码
fake.province():省份
fake.city_suffix():市,县
fake.district():区
fake.street_address():街道地址
fake.street_suffix():街、路
fake.address():详细地址
fake.geo_coordinate():地理坐标
fake.latitude():地理坐标(纬度)
fake.longitude():地理坐标(经度)
fake.postcode():邮编

bs():公司服务名
company():公司名
company_prefix():公司名前缀
company_suffix():公司性质

ascii_company_email():ASCII公司邮箱
ascii_email():ASCII邮箱
company_email():公司邮箱
email():邮箱
safe_email():安全邮箱
domain_name():域名
domain_word():二级域名
ipv4():IPV4地址
ipv6():IPV6地址
mac_address():随机MAC地址
tld():网址域名后缀(.com,.net.cn,等等,不包括.)
uri():随机URI地址
uri_extension():网址文件后缀
uri_page():网址文件(不包含后缀)
uri_path():网址文件路径(不包含文件名)
url():随机URL地址
user_name():随机用户名
image_url():随机URL地址

# 文本、加密信息类
pystr():字符串
random_element():字母
random_letter():字母
paragraph():单个段落
paragraphs():多个段落
sentence():单个句子
sentences():多个句子
text():文章
word():词语
words():多个词语

# 编码相关
binary():二进制编码
md5():MD5
password():密码
sha1():SHA1
sha256():SHA256
uuid4():UUID

自定义Faker数据类型

Faker 还支持创建自定义的 Provider 生成数据,如果在 Faker 库支持的数据类型都不是我们想要的,我们就可以自定义了。

from faker import Faker
from faker.providers import BaseProvider

# 创建自定义Provider
class MyProvider(BaseProvider):
    def my_data_type(self):
        return 'my_data_type'

# 添加Provider
fake = Faker()
fake.add_provider(MyProvider)
print(fake.my_data_type())

参考