所有程序一般都会有需要保存的变量,用来初始化程序的初始配置。

我们从实战角度,说一下配置文件 Config.ini 如何使用吧

比如我们的程序中,需要一个 URL 、一个 runner 和一个 run_cnt 变量,这几个变量在程序运行之前需要配置好,我们下面来举例

我们一般建一个包 名叫config

目录结构

下面分四个部分讲解。

1、首先得新建一个 .ini 的文件,习惯性叫做 config.ini

把我们需要的变量,放到这个文件里。这个文件中包含三部分内容 :

  1. section:sys_param
  2. option:url
  3. value:https://www.baidu.com

python中config读取外部数据(python配置文件config.ini)(1)

2、建立一个config.py 文件(这个代码多些,不方便截图)

# config.py import os from configparser import ConfigParser class Config: SYS_PARAM = 'sys_param' URL = 'url' RUN_PARAM = 'run_param' RUNNER = 'runner' RUN_CNT = 'run_cnt' def __init__(self): # 配置文件config.ini文件所在目录 self.base_dir = os.path.dirname(os.path.abspath(__file__)) # 配置文件config.ini文件路径 self.conf_path = os.path.join(self.base_dir, r'config.ini') self.conf = ConfigParser() if not os.path.exists(self.conf_path): raise FileNotFoundError("请确保配置文件存在!!") # 打开配置文件 self.load_file() # 获取配置文件变量 self.url = self.get_conf(Config.URL, section=Config.SYS_PARAM) self.runner = self.get_conf(Config.RUNNER, section=Config.RUN_PARAM) self.run_cnt = self.get_conf(Config.RUN_CNT,section=Config.RUN_PARAM) def load_file(self): """ 打开配置文件 """ try: self.conf.read(self.conf_path, encoding='UTF-8') except: print("打开配置文件失败!!!") def get_conf(self, option, section='sys_param'): """ 配置文件读取 """ return self.conf.get(section, option) def set_conf(self,option,value,section='sys_param'): """ 配置文件修改 """ if not isinstance(value,str): value = str(value) self.conf.set(section,option,value) try: with open(self.conf_path,"w ",encoding='utf-8') as fp: self.conf.write(fp) except ImportError as e: print("写入配置文件错误!!!") self.get_conf(option,section=section)

3、读取配置文件内容

python中config读取外部数据(python配置文件config.ini)(2)

4、修改配置文件内容

python中config读取外部数据(python配置文件config.ini)(3)

执行后,配置文件变为

python中config读取外部数据(python配置文件config.ini)(4)

总结:实战中配置文件一般这么用。

如果需要手动改配置文件,只需改动 url = 后面的内容即可,程序中任何地方都不需要变动。

如果需要程序改配置文件,只需要给每个变量的修改定义一个方法,程序中调用直接传入需要修改的参数即可。

有人问 为什么要搞这个啊?这么麻烦。现在麻烦点,等你写好了程序,变量需要改动的时候就很方便了,当然如果变量基本不会改动,就没必要这样了。

小伙伴们,你现在知道如何使用配置文件了吗?

欢迎讨论! 喜欢关注!

,