首页 > 编程语言 > 详细

python工具——Mimesis

时间:2021-01-13 14:40:33      阅读:41      评论:0      收藏:0      [点我收藏+]

Mimesis是一个用于Python的高性能伪数据生成器, 支持多种不同的语言

可以用来生成各种测试数据、假的 API 、任意结构的 JSON 、XML 数据

安装

pip install mimesis

eg:

from mimesis import Person

person = Person(zh)
print(fname: {person.surname() + "" + person.name()})
print(fsex: {person.sex()})
print(facademic degree: {person.academic_degree()})
print(foccupation: {person.occupation()})
email = person.email(domains=[126.com])
print(femail: {email})
phone = person.telephone(mask=132-8###-5##3)
print(ftelephone: {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(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": "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

原文:https://www.cnblogs.com/baby123/p/14270661.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!