python工具——Mimesis的簡單使用教程
Mimesis是一個用於Python的高性能偽數據生成器, 支持多種不同的語言
可以用來生成各種測試數據、假的 API 、任意結構的 JSON 、XML 數據
安裝
pip install mimesis
示例
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 對象裡面都有什麼數據
from mimesis import Person from pprint import pprint person = Person('zh') pprint(vars(person))
數據結構
{'_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
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
from fastapi import FastAPI from data import schema app = FastAPI() @app.get("/") def home(): # 生成數據 testData = schema.create(iterations=2) return testData
運行
uvicorn main:app
訪問http://127.0.0.1:8000/
結果
[ { "id": "aebd4f31-3dfe-4c9d-a3e9-ef3a0b88007a", "name": "江燕", "version": "1.8.3-rc.1", "timestamp": "2020-05-08T22:25:47Z", "owner": { "email": "[email protected]", "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": "[email protected]", "token": "b352bcc3c446650c2682bfc09a068acc4d0b60583cbb0e241f7fd44d02e43d89", "creator": "樂軒 烏" }, "address": { "country": "中華民國", "province": "陜西省", "city": "黃石市" } } ]
文檔 https://mimesis.readthedocs.io/api.html
以上就是python工具——Mimesis的簡單使用教程的詳細內容,更多關於python Mimesis的使用教程的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- JavaScript刪除對象的不必要的屬性
- python中protobuf和json互相轉換應用處理方法
- python中namedtuple函數的用法解析
- 基於Python實現一個簡易的數據管理系統
- 詳解Angular依賴註入