交流群:462197261站长百科站长论坛热门标签收藏本站北冥有鱼 互联网前沿资源第一站 助力全行业互联网+
点击这里给我发消息
  • 当前位置:
  • Python configparser模块常用方法解析

    北冥有鱼 教程大全 2020-05-22 ,,

    ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用在程序员写死,可以使程序更灵活。

    注意:在python 3 中ConfigParser模块名已更名为configparser

    configparser函数常用方法:

    读取配置文件:

    read(filename) #读取配置文件,直接读取ini文件内容

    sections() #获取ini文件内所有的section,以列表形式返回['logging', 'mysql']

    options(sections) #获取指定sections下所有options ,以列表形式返回['host', 'port', 'user', 'password']

    items(sections) #获取指定section下所有的键值对,[('host', '127.0.0.1'), ('port', '3306'), ('user', 'root'), ('password', '123456')]

    get(section, option) #获取section中option的值,返回为string类型
    >>>>>获取指定的section下的option <class 'str'> 127.0.0.1

    getint(section,option) 返回int类型
    getfloat(section, option) 返回float类型
    getboolean(section,option) 返回boolen类型

    举例如下:

    配置文件ini如下:

    [logging]
    level = 20
    path =
    server =

    [mysql]
    host=127.0.0.1
    port=3306
    user=root
    password=123456

    注意,也可以使用:替换=

    代码如下:

    import configparser
    from until.file_system import get_init_path
    
    conf = configparser.ConfigParser()
    file_path = get_init_path()
    print('file_path :',file_path)
    conf.read(file_path)
    
    sections = conf.sections()
    print('获取配置文件所有的section', sections)
    
    options = conf.options('mysql')
    print('获取指定section下所有option', options)
    
    
    items = conf.items('mysql')
    print('获取指定section下所有的键值对', items)
    
    
    value = conf.get('mysql', 'host')
    print('获取指定的section下的option', type(value), value)

    运行结果如下:

    file_path : /Users/xxx/Desktop/xxx/xxx/xxx.ini
    获取配置文件所有的section ['logging', 'mysql']
    获取指定section下所有option ['host', 'port', 'user', 'password']
    获取指定section下所有的键值对 [('host', '127.0.0.1'), ('port', '3306'), ('user', 'root'), ('password', '123456')]
    获取指定的section下的option <class 'str'> 127.0.0.1

    综合使用方法:

    import configparser
    """
    读取配置文件信息
    """
    
    class ConfigParser():
    
      config_dic = {}
      @classmethod
      def get_config(cls, sector, item):
        value = None
        try:
          value = cls.config_dic[sector][item]
        except KeyError:
          cf = configparser.ConfigParser()
          cf.read('settings.ini', encoding='utf8') #注意setting.ini配置文件的路径
          value = cf.get(sector, item)
          cls.config_dic = value
        finally:
          return value
    
    
    if __name__ == '__main__':
      con = ConfigParser()
      res = con.get_config('logging', 'level')
      print(res)

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持北冥有鱼。


    广而告之:
    热门推荐:
    js实现n秒倒计时后才可以点击的效果

    在我们进行注册用户时经常遇到点击按钮后,60秒倒计时后才能继续可以点击,按钮上还能显示倒计时,这60秒时间就是为大家提供”细阅读协议“做准备的,这种功能是如何实现的,下面为大家分享详细代码。 <!DOCTYPE html> <html> <head> <meta charset="ut···

    详解CSS动画属性关键帧keyframes全解析

    大概有多久没有更新专栏文章了。半年?下半年忙到起飞,或者毫不夸张的说是发射?仅有的一点个人时间,上半年贡献给了Python,现在差不多已忘掉了七七八八(一首《凉凉》送给自己),下半年贡献给了JavaScript,终于鼓起勇气系统的开始学习JS了(换台,梁静茹《勇气》走起)。···

    PHPStrom中实用的功能和快捷键大全

    有哪些快捷键或者PHPStrom出的特有的功能,让你觉得编写过程变得很舒服和快捷? CTRL + j 能够快捷的输入常用的代码片段,类似vim的 snipMate,可以加入自定义代码片段 find every thing phpstorm 支持类名、文件名等的单独搜索,我常用的是直接全部搜索。find every thing 需···

    基于Jquery的淡入淡出的特效基础练习

    今天练习了个Jquery淡入淡出的特性代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>···

    如何用workbench导出mysql数据库关系图

    1. 打开mysql workbench,选择首页中间"Data Modeling"下方的第二栏"Create EER Model From Existing Database";

    从Ajax到JQuery Ajax学习

    Ajax篇 XMLDocument和XMLHttpRequest对象 第一:创建XMLHttpRequest请求对象 复制代码 代码如下: function getXMLHttpRequest() { var xRequest=null; if(window.XMLHttpRequest) { xRequest=new XMLHttpRequest(); }else if(typeof ActiveXObject != "undefined"){ xReq···

    可以用鼠标拖动的DIV实现思路及代码

    复制代码 代码如下: <html><head> <title>测试可动div</title> <script language='javascript' type='text/javascript'> var offset_x; var offset_y; function Milan_StartMove(oEvent) { var whichButton; if(document.all&&oEv···

    asp.net简单生成验证码的方法

    本文实例讲述了asp.net简单生成验证码的方法。分享给大家供大家参考,具体如下: 1.新建一个一般处理程序 namespace WebApplication1 { /// <summary> /// $codebehindclassname$ 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")]···

    JavaScript验证用户输入的是字符或数字及ASCII Chart应用

    我们可以根据onkeydown事件的event.keyCode即是ASCII Chart来判断字符或数字等。相关键盘key对应的ASCII码:  参考下面JavaScript代码: 复制代码 代码如下: <script type = "text/javascript"> function isNumeric(keyCode) { return ((keyCode >= 48 &am···

    asp.net采集页面上所有图像图片资源的具体方法

    有时我们需要采集一些信息到自己的数据库,本地磁盘,我们经常使用的是WebClient,WebRequest等等,今天主要说一下,对于一个URI地址,采集这个页面上所有的图像资源,下面是源代码,供大家参考,学习。 /// <summary> /// 下载指定URL下的所有图片 /// </s···