pyyaml使用_pam模块

pyyaml使用_pam模块pyyaml模块

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、pyyaml 简介及简单使用

1、pyyaml 模块的安装

pip3 install pyyaml

2、pyyaml 模块的简单使用

我们初始化一个yaml文件如下:

house:
  family:
    name: Doe
    parents:
      - John
      - Jane
  address:
    number: 34
    street: Main Street

读取 yaml 文件:

import yaml
f = open('example.yml',encoding="utf-8")
x = yaml.load(f)
print(x)

执行结果如下:

{ 
   'house': { 
   'family': { 
   'name': 'Doe', 'parents': ['John', 'Jane']}, 'address': { 
   'number': 34, 'street': 'Main Street'}}}

解析 yaml 文件:

# coding=utf-8
import yaml


project = { 
   'name': 'Silenthand Olleander',
            'race': 'Human',
            'traits': ['ONE_HAND', 'ONE_EYE']
            }
ret = yaml.dump(project)
print(ret)
print(type(ret))

project = ("a", "b", "c")
ret = yaml.dump(project)
print(ret)
print(type(ret))

project = { 
   "a": 1,"b": 2}
ret = yaml.dump(project)
print(ret)
print(type(ret))

执行结果如下:

name: Silenthand Olleander
race: Human
traits: [ONE_HAND, ONE_EYE]

<class 'str'>
!!python/tuple [a, b, c]

<class 'str'>
{ 
   a: 1, b: 2}

<class 'str'>

二、使用 pyyaml 配置不同的工作环境

假设我们有两个不同的工作环境,开发环境 dev 和生产环境 prod,在这两个不同的环境下有部分环境配置是有区别的,我们可以使用 pyyaml 将他们配置在一起,解析时再加以区分。

pyyaml 文件如下所示:

active: dev
dev:
  MainQueue: main_queue_dev
prod:
  MainQueue: main_queue_prod

其中,active: dev 表示当前的工作环境是 dev

pyyaml 文件解析脚本如下所示:

def load_environment():
    f = open('params.yaml', encoding='utf-8')
    x = yaml.load(f)
    if x['active'] == 'dev':
        return x['dev']
    elif x['active'] == 'prod':
        return x['prod']

执行结果:

{ 
   'MainQueue': 'main_queue_dev'}

完整示例代码地址:示例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194167.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea部署tomcat启动浏览器显示404(如何部署tomcat)

    之前按照网站教程https://www.cnblogs.com/cangqinglang/p/10027199.html配置IDEA之后,tomcat启动成功,但是访问页面报404错误,参考了网站各种教程也没有解决,最后同事发现是outputdirectory路径配置错误了,一定要让项目的输出路径为tomcat的webapps路径,而不能是项目路径,坑了我半天时间,找这个问题,在此贴出来…

    2022年4月11日
    82
  • String和Integer转换的大坑

    String和Integer转换的大坑今天碰到一个大坑 相信很多人也都碰到过 那就是 String 和 Integer 的相互转换 m Integer parseInt num 到最后判断的时候我用 m l getM 一直得不到我想要的结果后来在网上查了很多资料发现 Integer 类型的取值范围在 128 127 我的这个 m 是 157 所以到最后取到的数据不全最后我用 if m equals l getM 把数

    2025年7月28日
    3
  • js 前进 后退 刷新

    js 前进 后退 刷新前进<inputtype=buttonvalue=前进οnclick=”window.history.go(1)”><inputtype=buttonvalue=前进οnclick=”window.history.forward()”>后退<inputtype=buttonvalue=后退οnclick=”window.history.go(-1)”><inputtype=buttonvalue=后退οnclick=”window

    2022年7月25日
    9
  • webstorm插件开发

    webstorm插件开发前言最近有开发webstrom插件的需求,可是百度一下发现网上关于webstorm插件开发的文章实在是寥寥无几,本文记录一下本次插件开发走的路和踩的坑。希望对后来的同学能有些许的帮助。正文准备工作intelliJ平台的所有插件开发都是基于java语言,所以在进入开发工作之前必须对java语言有一定的了解,本人作为java门外汉,花…

    2025年10月10日
    3
  • vmware虚拟机(四)之安装centos7图形界面Linux

    vmware虚拟机(四)之安装centos7图形界面Linux1.创建新的虚拟机2.根据提示一步一步操作,这里可以选择推荐的,也可以选择自定义3.虚拟机硬件兼容性一般选择默认的,即次虚拟机支持的最新版本,下面是一些兼容产品和限制,此虚拟机可安装的最大内存为64GB,处理器数目最多为16个。。。。4.为了练习安装Linux操作系统,我们选择稍后安装操作系统5.根据自己需要的操作系统版本选择,这里我们选择centos64位的Linux6.虚…

    2022年5月27日
    40
  • Python中的dir和help

    Python中的dir和help

    2021年8月19日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号