python应用笔记之configparser配置参数判断性读写应用

Pyhton 标准库中的configparser,是用来解析配置文件的模块,本文针对该模块的读写进行案例介绍;

1、首先是定义配置文件读函数:

import configparser # 加载配置文件

# config read
def configFile_Read(section, option):
    config_read = configparser.ConfigParser()
    config_read.read(_file_sysConfig, encoding='utf-8')
    if config_read.has_section(section):
        if config_read.has_option(section, option):
            value = config_read.get(section, option)
        else:
            value = ''
    else:
        value = ''

    return value

函数中“_file_sysConfig”为定义的config文件;

2、之后就是定义配置文件写函数:

def configFile_Write(section, option, value):
    config_write = configparser.ConfigParser()
    config_write.read(_file_sysConfig, encoding='utf-8')
    configFile_updateFlag = False

    if config_write.has_section(section):
        if config_write.has_option(section, option):
            if (config_write.get(section, option) != str(value)):
                config_write.set(section, option, str(value))
                configFile_updateFlag = True
        else:
            config_write.set(section, option, str(value))
            configFile_updateFlag = True
    else:
        config_write.add_section(section)
        config_write.set(section, option, str(value))
        configFile_updateFlag = True
        
    if (True == configFile_updateFlag):
        with open(_file_sysConfig, 'w', newline='', encoding='utf-8') as fileWriter:
            config_write.write(fileWriter)

配置文件写函数不只是简单的写配置参数:

        1)首先判断原来的配置文件是否有要写参数的“section”,然后再判断该“section”是否有要写参数的“option”,最后将对应的“section”、“option”的值读出来,与要写的值进行比对,若不一样,则请求参数更新,否则不需要写参数;

        2)若原来的配置文件有要写参数的“section”,无要写参数的“option”,则直接请求写参数;

        3)若原来的配置文件无要写参数的“section”,则直接请求写参数;

3、最后根据需求调用上述2个读写函数;

import os
import configparser 

if __name__ == "__main__":
    path_workspace = os.path.abspath(os.getcwd())
    _file_sysConfig = path_workspace + "\\sysConfig.ini"

    section_CANComm = 'CANComm'
    option_ProtocolFile = 'File_Protocol'

    # 写配置
    path_ProtocolFile = configFile_Read(section_CANComm, option_ProtocolFile)

    # 读配置
    _file = './Protocol.xls'
    configFile_Write(section_CANComm, option_ProtocolFile, _file)

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔二叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值