Python 造假数据咯

裸睡的猪

共 1438字,需浏览 3分钟

 ·

2020-10-16 13:17

作者 | 小帅b
来源 | 学习python的正确姿势


你在写程序的时候,常常需要用一些假数据来测试功能,比如用户的注册,获取数据列表接口等等,总不能老是 “test..test...test your daddy ” 吧?


接下来给你介绍两个挺不错的 Python 库,专门来给你生成各种假数据的,比如人名,邮箱,手机、地址等等,你再也不用苦思冥想各种张三李四和绿你的隔壁王五了。


咱们开始进入:
 
1、mimesis

这个库专门用 Python 创建各种假数据,比如一些数据库的测试数据,假 API、Json、XML 等格式数据都可以通过它产生,把假数据整的像真的似得。

而且支持 33 个不同地方的本地语言假数据生成:

来带你体验一波:
首先导入 mimesis 的 Person 对象:


接着定义中文,使用 pprint 将这个对象给打印出来:


运行一下就可以看到 Person 对象定义的各种假数据了,随便截几张图给你体会一下。

学位、性别、语言:


名称:


甚至还有性取向  姓氏:

                
学士学位、就读大学:


还有很多其它信息就不一一举例了,除了 Person 之外,还有 food、 address、transport、Business 等对象提供的相应假数据。



实际上,当你需要用到相关的假数据的时候,你只需要调用相关的对象方法即可:


另一个比较方便的就是 API 假数据的创建,你可以先创建一个 py 文件,在里面使用 mimesis.schema 定义要返回的 Json 参数数据格式:


接着在你需要返回 API 的方法中调用它即可:


这样调用这个接口你就可以得到相关的假数据啦:



文档在这:
https://mimesis.readthedocs.io/api.html


2、fake2db

另一个常需要用到假数据的就是数据库了,fake2db 这个库可以给数据库填充假数据,它可以支持我们常用到的数据库,比如 MySQL、Redis、Mongodb、Sqlite 等。

安装完 fake2db 之后,你就可以使用它的命令来生成假数据了:


比如你要创建一个 Sqlite,填充 10 条假数据就可以这样:
fake2db --rows 10 --db sqlite


可以看到,这里帮我们创建了 sqlite_QPNVJVIX.db, 并且生成了多张数据表,我们进去看一下:

查询一下 user_agent 表中的数据:


可以看到这里有 10 条假 user_agent 数据。

注册信息:


你要多少数据都可以,只要把刚刚的命令中的 --rows 参数设置大一点就可以了。

可能有些数据表的字段你想自己定义,那么可以在 fake2db 的 custom.py 中先定义好字段参数:


比如我想生成一张含有 user_namepasswordemaildate 的 Sqlite 数据表,然后往里填充 100 条假数据,就可以这样:


这里使用 --custom 将你要自定义的字段参数传进来就可以了,这时候生成的表数据就是你定义的样子:


代码在这:
https://github.com/emirozer/fake2db

以后需要测试数据再发不用发愁了。
浏览 43
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报