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 相关文章推荐
Windows下Python的Django框架环境部署及应用编写入门
Mar 10 Python
Python中Threading用法详解
Dec 27 Python
Python实现的NN神经网络算法完整示例
Jun 19 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
Python获取航线信息并且制作成图的讲解
Jan 03 Python
python开发游戏的前期准备
May 05 Python
机器学习实战之knn算法pandas
Jun 22 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 Python
Python通过cv2读取多个USB摄像头
Aug 28 Python
python中的django是做什么的
Jul 31 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
Python selenium绕过webdriver监测执行javascript
Apr 12 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动态生成虚拟现实VRML网页
2006/10/09 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
JavaScript中的排序算法代码
2011/02/22 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
七个不允许错过的jQuery小技巧
2015/12/21 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
python解析文件示例
2014/01/23 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
解决Django中多条件查询的问题
2019/07/18 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
python里反向传播算法详解
2020/11/22 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
init进程的作用
2015/08/20 面试题
六月份红领巾广播稿
2014/02/03 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
鉴史问廉观后感
2015/06/10 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
25张裸眼3D图片,带你重温童年的记忆,感受3D的魅力
2022/02/06 杂记