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提取页面内url列表的方法
May 25 Python
Python中元组,列表,字典的区别
May 21 Python
python中实现精确的浮点数运算详解
Nov 02 Python
python3写爬取B站视频弹幕功能
Dec 22 Python
python web基础之加载静态文件实例
Mar 20 Python
python编辑用户登入界面的实现代码
Jul 16 Python
python基础梳理(一)(推荐)
Apr 06 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
python 实现端口扫描工具
Dec 18 Python
python实现杨辉三角的几种方法代码实例
Mar 02 Python
解决Pytorch中关于model.eval的问题
May 22 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 curl_init函数用法
2014/01/31 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
Vue实现计算器计算效果
2020/08/17 Javascript
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
python Celery定时任务的示例
2018/03/13 Python
Python 实现引用其他.py文件中的类和类的方法
2018/04/29 Python
python 生成图形验证码的方法示例
2018/11/11 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
python是否适合网页编程详解
2019/10/04 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
python小技巧——将变量保存在本地及读取
2020/11/13 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
C#面试问题
2016/07/29 面试题
网络工程师个人的自我评价范文
2013/10/01 职场文书
机械制造专业个人的自我评价
2013/12/28 职场文书
一名老师的自我评价
2014/02/07 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
前台文员职责范本
2014/03/07 职场文书
项目负责人任命书
2014/06/04 职场文书
抗震救灾标语
2014/06/26 职场文书
组工干部对照检查材料
2014/08/25 职场文书
逃课检讨书
2015/01/26 职场文书
护士医德考评自我评价
2015/03/03 职场文书
2015迎新晚会开场白
2015/07/17 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
快速学习Oracle触发器和游标
2021/06/30 Oracle
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android