Mimesis是一个用于Python的高性能伪数据生成器, 支持多种不同的语言
可以用来生成各种测试数据、假的 API 、任意结构的 JSON 、XML 数据
安装
1
|
pip install mimesis |
示例
1
2
3
4
5
6
7
8
9
10
11
|
from mimesis import Person person = Person( 'zh' ) print (f 'name: {person.surname() + "" + person.name()}' ) print (f 'sex: {person.sex()}' ) print (f 'academic degree: {person.academic_degree()}' ) print (f 'occupation: {person.occupation()}' ) email = person.email(domains = [ '126.com' ]) print (f 'email: {email}' ) phone = person.telephone(mask = '132-8###-5##3' ) print (f 'telephone: {phone}' ) |
结果
查看 Person 对象里面都有什么数据
1
2
3
4
|
from mimesis import Person from pprint import pprint person = Person( 'zh' ) pprint( vars (person)) |
数据结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
{ '_data' : { 'academic_degree' : [ '学士' , '研究生' , '博士' ], 'gender' : [ '男性' , '女性' ], 'language' : [ '南非语' , …… '中文' , '祖鲁语' ], 'names' : { 'female' : [ '朵雯' , …… '若未' ], 'male' : [ '彦龙' , …… '清妍' ]}, 'nationality' : [ '阿尔及利亚' , …… '南乔治亚岛和南桑威奇群岛' ], 'occupation' : [ '民意代表' , …… '职业运动员' ], 'political_views' : [ '社会主義' , '民主' , '共産' ], 'sexuality' : [ '异性恋' , '同性恋' , '双性恋' , '无性恋' ], 'surnames' : [ '赵' , …… '司空' ], 'telephone_fmt' : [ '+86 ###-########' ], 'title' : { 'female' : { 'academic' : [ '工学硕士' , …… '教授' ], 'typical' : [ '小姐' , '女士' ]}, 'male' : { 'academic' : [ '工学硕士' , …… '教授' ], 'typical' : [ '先生' ]}}, 'university' : [ '北京大学' , …… '新疆工业职业技术学' ], 'views_on' : [ '負面' , '正面' , '中立' ], 'worldview' : [ '无神论' , '不可知論' , '自然神論' , '泛神论' , '儒教' ]}, '_data_dir' : WindowsPath( 'D:/Python37/lib/site-packages/mimesis/data' ), '_datafile' : 'person.json' , '_store' : { 'age' : 0 }, 'locale' : 'zh' , 'random' : <mimesis.random.Random object at 0x0000000002A41EA8 >, 'seed' : None } |
除了Person ,还有 food、 address、transport、Business 等对象提供的相应假数据
生成json数据
eg:
data.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
from mimesis.schema import Field,Schema from mimesis.enums import Gender _ = Field( 'zh' ) schema = Schema(schema = lambda : { 'id' : _( 'uuid' ), 'name' : _( 'person.name' ), 'version' : _( 'version' , pre_release = True ), 'timestamp' : _( 'timestamp' , posix = False ), 'owner' : { 'email' : _( 'person.email' , domains = [ 'test.com' ], key = str .lower), 'token' : _( 'token_hex' ), 'creator' : _( 'full_name' , gender = Gender.FEMALE) }, 'address' : { 'country' : _( 'address.country' ), 'province' : _( 'address.province' ), 'city' : _( 'address.city' ) } }) |
使用FastAPI
1
2
3
4
5
6
7
8
9
|
from fastapi import FastAPI from data import schema app = FastAPI() @app .get( "/" ) def home(): # 生成数据 testData = schema.create(iterations = 2 ) return testData |
运行
1
|
uvicorn main:app |
访问http://127.0.0.1:8000/
结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
[ { "id" : "aebd4f31-3dfe-4c9d-a3e9-ef3a0b88007a" , "name" : "江燕" , "version" : "1.8.3-rc.1" , "timestamp" : "2020-05-08T22:25:47Z" , "owner" : { "email" : "boobies1874@test.com" , "token" : "136bfa9e7771842dae3758de2cf5997f0fcfd39b56b6063f11e6123638e7d951" , "creator" : "袭韵 欧" }, "address" : { "country" : "中華民國" , "province" : "青海省" , "city" : "开封市" } }, { "id" : "69ed6ad2-5430-4627-ab36-73c2df4a9ca2" , "name" : "绵恩" , "version" : "4.3.4-alpha.2" , "timestamp" : "2001-11-12T15:29:39Z" , "owner" : { "email" : "awatch1835@test.com" , "token" : "b352bcc3c446650c2682bfc09a068acc4d0b60583cbb0e241f7fd44d02e43d89" , "creator" : "乐轩 乌" }, "address" : { "country" : "中華民國" , "province" : "陕西省" , "city" : "黄石市" } } ] |
文档 https://mimesis.readthedocs.io/api.html
以上就是python工具——Mimesis的简单使用教程的详细内容,更多关于python Mimesis的使用教程的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/baby123/p/14270661.html