转载: 求求你,别再手工造假数据了,fake 了解一下 - FooFish-Python 之禅
项目开发初期,为了测试方便,我们总要造不少假数据到系统中,尽量模拟真实环境。
比如要创建一批用户,创建一段文本,或者是电话号码,抑或着是街道地址或者 IP 地址等等。
以前要么就是键盘一顿乱敲,随便造个什么字符串出来,当然最后谁也不认识谁。
现在你不要这样做了。
用 faker 就能满足你的一切需求。
先安装 faker
1 | pip install Faker |
创建 faker 对象
1 | from faker import Faker |
fake 一个名字
1 | fake.name() |
fake 一个地址
1 | fake.address() |
fake 一个浏览器 UA
1 | fake.chrome() |
fake 一个日期
1 | fake.date() |
但凡是你需要的东西他都能帮你 fake,如果你不知道它能 fake 哪些东西,可以用 dir (fake) 查看一下。
它能 fake 近 300 种东西出来,如果还有你满足不了需求的,你可以像它的 Github 提交 PR 或者自己扩展
上面 fake 的东西,比如名字,街道都是英文的,他支不支持中文呢?
可以的
只要在创建 Faker 对象的时候,指定语言就可以
1 | "zh_CN") fake = Faker( |
你会发现,fake 的假数据还挺真实的。除了中文,它还支持日语、韩语、德语等上百种语言
当然,它还支持命令行模式
-h 查看帮助文档
1 | faker [-h] [--version] [-o output] |
我可不可以创建属于自己的 fake 数据呢?比如我想随机生成一个基于 Android 设备的 User-Agent
1 | from faker import Faker |
是不是太简单了。另外,faker 还是一个非常值得作为源码研究的库。