faker
Faker
是一个Python
包,可以为你生成假数据。无论您是需要引导您的数据库、创建美观的 XML
文档、填写您的持久性以对其进行压力测试,还是对从生产服务中获取的数据进行匿名化,Faker
都适合您。
Faker
深受PHP Faker
、Perl Faker
和Ruby Faker
的启发。
从 version
开始4.0.0,Faker
放弃对 Python
2 的支持,从 version
开始5.0.0
只支持 Python 3.7
及更高版本。如果您仍需要 Python 2
兼容性,请3.0.1
同时安装版本,并考虑更新您的代码库以支持 Python
3,以便您可以享受最新的功能Faker。请参阅扩展文档以获取更多详细信息,特别是如果您从版本2.0.4
及以下版本升级,因为可能会有重大更改。
这个包之前也被调用过fake-factory
,它在 2016
年底已经被弃用,并且从那时起发生了很大变化,所以请确保您的项目及其依赖项不依赖于旧包。
github的地址在这里。
安装
使用 pip 安装:
pip install Faker
用于faker.Faker()创建和初始化 faker 生成器,该生成器可以通过访问以所需数据类型命名的属性来生成数据。
from faker import Faker
fake = Faker()
fake.name()
# 'Lucy Cechtelar'
fake.address()
# '426 Jordy Lodge
# Cartwrightshire, SC 88120-6700'
fake.text()
# 'Sint velit eveniet. Rerum atque repellat voluptatem quia rerum. Numquam excepturi
# beatae sint laudantium consequatur. Magni occaecati itaque sint et sit tempore. Nesciunt
# amet quidem. Iusto deleniti cum autem ad quia aperiam.
# A consectetur quos aliquam. In iste aliquid et aut similique suscipit. Consequatur qui
# quaerat iste minus hic expedita. Consequuntur error magni et laboriosam. Aut aspernatur
# voluptatem sit aliquam. Dolores voluptatum est.
# Aut molestias et maxime. Fugit autem facilis quos vero. Eius quibusdam possimus est.
# Ea quaerat et quisquam. Deleniti sunt quam. Adipisci consequatur id in occaecati.
# Et sint et. Ut ducimus quod nemo ab voluptatum.'
对方法的每次调用都会fake.name()
产生不同的(随机)结果。这是因为faker
将faker.Generator.method_name()
呼叫转发到faker.Generator.format(method_name).
for _ in range(10):
print(fake.name())
# 'Adaline Reichel'
# 'Dr. Santa Prosacco DVM'
# 'Noemy Vandervort V'
# 'Lexi O'Conner'
# 'Gracie Weber'
# 'Roscoe Johns'
# 'Emmett Lebsack'
# 'Keegan Thiel'
# 'Wellington Koelpin II'
# 'Ms. Karley Kiehn V'