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 实现红包随机生成算法的简单实例
Jan 04 Python
python实现关键词提取的示例讲解
Apr 28 Python
Python网页正文转换语音文件的操作方法
Dec 09 Python
对Python实现累加函数的方法详解
Jan 23 Python
Python异步操作MySQL示例【使用aiomysql】
May 16 Python
使用python进行波形及频谱绘制的方法
Jun 17 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
python实现七段数码管和倒计时效果
Nov 23 Python
浅谈pytorch、cuda、python的版本对齐问题
Jan 15 Python
TensorFlow实现自定义Op方式
Feb 04 Python
Python3爬虫中Selenium的用法详解
Jul 10 Python
Python3.8官网文档之类的基础语法阅读
Sep 04 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
coreseek 搜索英文的问题详解
2013/06/08 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
javascript中的隐式调用
2018/02/10 Javascript
python统计中文字符数量的两种方法
2019/01/31 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
用python读取xlsx文件
2020/12/17 Python
宿舍卫生检讨书
2014/01/16 职场文书
导游实习生自荐书
2014/01/28 职场文书
企业安全生产承诺书
2014/05/22 职场文书
五一活动标语
2014/06/30 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
玄武湖导游词
2015/02/05 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
会议通知范文
2015/04/15 职场文书
网络舆情信息简报
2015/07/21 职场文书
2016新年感言
2015/08/03 职场文书
环保建议书范文
2015/09/14 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB
关于vue-router-link选择样式设置
2022/04/30 Vue.js