Python 造假数据咯

共 1467字,需浏览 3分钟

 ·

2020-08-09 00:10


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






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





咱们开始进入:

 
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


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

ok,奈斯,以上就是小帅b今天给你带来的分享,希望对你有帮助,那么我们下回见,peace!


扫一扫

收获的不止一点点





下面这两按钮
请使劲戳!!
浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报