python工具——Mimesis的简单使用教程


Posted in Python onJanuary 16, 2021

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}')

结果

python工具——Mimesis的简单使用教程

查看 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": "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的使用教程的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
在Python程序中实现分布式进程的教程
Apr 28 Python
Python实现身份证号码解析
Sep 01 Python
利用python实现命令行有道词典的方法示例
Jan 31 Python
Python 实用技巧之利用Shell通配符做字符串匹配
Aug 23 Python
如何解决django-celery启动后迅速关闭
Oct 16 Python
关于ZeroMQ 三种模式python3实现方式
Dec 23 Python
解决python运行启动报错问题
Jun 01 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
使用Python pip怎么升级pip
Aug 11 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
Oct 02 Python
python 基于opencv 实现一个鼠标绘图小程序
Dec 11 Python
python中opencv实现图片文本倾斜校正
Jun 11 Python
Python 内存管理机制全面分析
Jan 16 #Python
python des,aes,rsa加解密的实现
Jan 16 #Python
python math模块的基本使用教程
Jan 16 #Python
详解Python模块化编程与装饰器
Jan 16 #Python
删除pycharm鼠标右键快捷键打开项目的操作
Jan 16 #Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 #Python
python制作抽奖程序代码详解
Jan 15 #Python
You might like
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
json原理分析及实例介绍
2012/11/29 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
简单了解微信小程序的目录结构
2019/07/01 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
python提取内容关键词的方法
2015/03/16 Python
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
python 垃圾收集机制的实例详解
2017/08/20 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
《跨越百年的美丽》教学反思
2014/02/11 职场文书
六一节目主持词
2014/04/01 职场文书
经典毕业生求职信
2014/07/12 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers