音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

python工具——Mimesis的简单使用教程
日期:2021-09-08 13:22:41   来源:脚本之家

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

结果

查看 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的使用教程的资料请关注其它相关文章!

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    ASP编程JSP编程PHP编程.NET编程python编程