首页 > 编程语言 >Python之configparser模块的简单使用

Python之configparser模块的简单使用

时间:2022-11-17 15:48:13浏览次数:44  
标签:node 配置文件 Python self yaml 模块 config configparser

一、configparser安装

pip3 install configparser

二、新建config.ini

[ENV]
env = QA1

[QA1]
url = https://qa1-xxx.cn
s_url = https://qa-s-xxx.cn

[QA2]
url = https://qa2-xxx.cn
s_url = https://qa-s-xxx.cn

三、封装操作config方法,operate_config.py

# -*- coding:utf-8 -*-

import yaml
import configparser
from conf.setting import CONFIG_FILE,LOGIN_DATA_YAML_FILE

def get_yaml(goal):
    with open(LOGIN_DATA_YAML_FILE, encoding='utf-8') as f:
        yaml_log = yaml.load(f, Loader=yaml.FullLoader)
    goal_list = yaml_log.keys()
    if goal in goal_list:
        return yaml_log[goal]
    else:
        print('不存在的配置')

class OperateConfig:
    def __init__(self):
        self.config = configparser.ConfigParser()  # 调用外部的读取配置文件的方法
        self.config.read(CONFIG_FILE, encoding='GBK')

    def get_node_value(self,node, name):
        value = self.config.get(node, name)
        return value

    def set_node_value(self,section,node,name):
        """写入配置文件"""
        self.config.set(section,node,name)  # 修改指定section 的option
        self.config.write(open(CONFIG_FILE, 'w'))

四、新建test_conf.py

from tools.operate_config import OperateConfig

class TestConf:
    def test_1(self):
        # 读取配置文件
        env = OperateConfig().get_node_value('ENV','env')
        print(env)

        # 修改配置文件,改成QA2
        OperateConfig().set_node_value('ENV','env','QA2')

五、执行结果

  读取配置文件的结果如下图:

 

   修改配置文件的结果如下图:

 

 

标签:node,配置文件,Python,self,yaml,模块,config,configparser
From: https://www.cnblogs.com/Chilam007/p/16899674.html

相关文章

  • python rsa加解密
    pythonrsa加解密代码:只适用python3:importbase64fromCrypto.CipherimportPKCS1_v1_5fromCryptoimportRandomfromCrypto.PublicKeyimportRSA#-------......
  • Python数据分析与应用 ---- 航空公司客户价值分析
    Python数据分析与应用----航空公司客户价值分析 Python数据分析与应用----航空公司客户价值分析_骑着蜗牛ひ追导弹'的博客-CSDN博客_航空客户数据分析......
  • python三十六期---
    昨日内容回顾TCP与UDP协议TCP 可靠协议三次握手建立链接 1.洪水攻击 2.消息反馈四次挥手断开链接 1.time_waitUDP 不可靠协议"""TCP......
  • ubuntu安装python环境scikit-learn低版本
    ubuntu安装python环境scikit-learn低版本Ubuntu默认使用的是python3.8,要安装插件需要先安装几个依赖包      安装uwsgi需要安装gccpython3.8-dev python-dev......
  • pytest文档83 - 把收集的 yaml 文件转成pytest 模块和用例
    前言前面实现了一个基础的读取yaml文件内容,当成用例去执行。虽然入门简单,但需要扩展功能,比如在yaml用例实现参数化,就不好扩展了。因为它并不是一个真正的pytest的模块......
  • 【学习笔记】Python深浅copy拷贝解析
    一、列表的赋值(一般用于读操作)这个和列表的深浅拷贝其实没有关系,就是一个赋值操作;list1和list2指向的是同一片内存地址;即,你家有套房子,叫清华楼A栋101室,也叫......
  • Python中报错Invalid return character or leading space in header: Cookie
    这个问题主要是读取的配置文件config.ini里该cookie参数遇到的空格问题主要是在配置文件里cookie_data=XXXXXXX参数值后面有个莫名其妙的空格可能产生的原因是:在从页......
  • python的异常捕获
    trytry:有可能会出错的代码(try会去监测代码执行是否出错)except:当try里面的代码执行出现错误时,会执行except中的代码,可以在这里对异常进行处理else:try中的代码执......
  • python简短代码技巧
      #1.两个字典的合并x={'a':1,'b':2}y={'c':3,'d':4}x.update(y)print(x)#字典的合并dct1={'name':'wjh','age':20}dct2={'city':'beijing'......
  • python 的逻辑判断
    与shell的逻辑判断不同,python的逻辑判断不需要加结束符号,但是需要在判断条件后加“:”号例:ifage_of_Bob==guess_age:其他的逻辑判断用法差不多,像if....else,if.........