python常用模块之configparser

作用:解析配置文件

假设在当前目录下有这样一个conf.ini文件

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes [bitbucket.org]
User = hg [topsecret.server.com]
Port = 50022
ForwardX11 = no

模块的操作

import configparser

conf = configparser.ConfigParser()  # 创建一个对象
# print(conf.sections()) # [],因为没有打开文件,所以是空的 conf.read("conf.ini") # 读取文件内容
print(conf.sections()) # ['bitbucket.org', 'topsecret.server.com']
# 那么为什么没有DEFAULT呢?因为在每一个配置文件中都会有一个DEFAULT,这是全局默认配置的东西,打印不出来的,但是可以获取到 print(conf.default_section) # DEFAULT # 拿到里面的值
print(conf['bitbucket.org']['User']) # hg 此时是知道这个配置文件中的子模块bitbucket.org里有User # 循环
for k,v in conf['bitbucket.org'].items():
print(k,v)
# user hg
# serveraliveinterval 45
# compression yes
# compressionlevel 9
# forwardx11 yes
那么,为啥会把DEFAULT里的打印出来呢?因为这是configparser设置的,会默认出现在每一个节点中

configparser其他的操作

# 还是以上面的conf.ini为例

import configparser
conf = configparser.ConfigParser() # 生成一个对象
conf.read("conf.ini",encoding='utf-8') # 读取配置文件内容 # 读
# print(dir(conf)) print(conf.options("bitbucket.org")) # 将bitbucket.org区域里的key全部拿出,包括DEFAULT里面的,['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
print(conf['bitbucket.org']['User']) # hg,拿到bitbucket.org里的User这个key的值 # 增加
conf.add_section("group1") # 增加name区域
conf['group1']['age'] = '22' # 增加group1区域中age这个key的值为22
conf['group1']['name'] = 'xiao'
conf.write(open("conf.ini","r+")) # 写进文件中
conf.write(open("i.cfg","w")) # 或者写到一个新文件中 # 删除
# conf.remove_section('group1') # 删除整个group1区域
# conf.write(open('i.cfg','w')) conf.remove_option('group1','name') # 只删除group1区域里的name这个key
conf.write(open('conf.ini','w'))

python常用模块之configparser模块的更多相关文章

  1. Python之xml文档及配置文件处理(ElementTree模块、ConfigParser模块)

    本节内容 前言 XML处理模块 ConfigParser/configparser模块 总结 一.前言 我们在<中我们描述了Python数据持久化的大体概念和基本处理方式,通过这些知识点我们已经 ...

  2. 【转】Python之xml文档及配置文件处理(ElementTree模块、ConfigParser模块)

    [转]Python之xml文档及配置文件处理(ElementTree模块.ConfigParser模块) 本节内容 前言 XML处理模块 ConfigParser/configparser模块 总结 ...

  3. Python常用内置模块之xml模块

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...

  4. python基础14 ---函数模块4(configparser模块)

    configparser模块 一.configparser模块 1.什么是configparser模块:configparser模块操作配置文件,配置文件的格式与windows ini和linux的c ...

  5. [xml模块、hashlib模块、subprocess模块、os与sys模块、configparser模块]

    [xml模块.hashlib模块.subprocess模块.os与sys模块.configparser模块] xml模块 XML:全称 可扩展标记语言,为了能够在不同的平台间继续数据的交换,使交换的数 ...

  6. 《Python》hashlib模块、configparser模块、logging模块

    一.hashlib模块 Python的hashlib模块中提供了常见的摘要算法,如md5,sha1等等. 摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的字符串(通 ...

  7. python 之 subprocesss 模块、configparser 模块

    6.18 subprocesss 模块 常用dos命令: cd : changedirectory 切换目录 ​ tasklist:查看任务列表 ​ tasklist | findstr python ...

  8. 小白的Python之路 day5 configparser模块的特点和用法

    configparser模块的特点和用法 一.概述 主要用于生成和修改常见配置文件,当前模块的名称在 python 3.x 版本中变更为 configparser.在python2.x版本中为Conf ...

  9. Python之路(第十八篇)shutil 模块、zipfile模块、configparser模块

    一.shutil 模块 1.shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中,需要打开文件 import shutil shutil.co ...

随机推荐

  1. poj 2187:Beauty Contest(旋转卡壳)

    Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 32708   Accepted: 10156 Description Bes ...

  2. Sqoop-问题

    1.权限问题 // :: INFO mapreduce.Job: Job job_1555064328415_0328 failed with state FAILED due to: Job set ...

  3. Python学习札记(十五) 高级特性1 切片

    参考: 高级特性 切片 Note 1.掌握了Python的基础语法之后,就可以写出很多很有用的程序了,比如打印1-90的奇数: #!/usr/bin/env python3 L = [] n = 1 ...

  4. Python学习札记(十三) Function3 函数参数二

    参考:函数参数 Note A.关键字参数: 1.关键字参数:**kw 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple.而关键字参数允许你传入0个或任意个含参数名的 ...

  5. java高级特性(3)--方法可变参数

    1.特征:... 2.方法可变参数,必须是方法参数列表的最后一位. 3.一个方法只能有一个方法可变参数. 4.方法可变参数本质是一个数组. 5.调用时按照方法可变参数赋值,多余的实参被封装成一个数组, ...

  6. fstat

    相关函数:stat, lstat, chmod, chown, readlink, utime 头文件:#include <sys/stat.h> #include <unistd. ...

  7. 揭开A*算法的神秘面纱

    揭开A*算法的神秘面纱 一.总结 一句话总结:f(n)=g(n)+h(n) 这个算法有点像BFS的优化算法. g(n)为起点到当前方格的距离,这个是已知的. h(n)为当前方格到终点的距离,这个简单点 ...

  8. SpringBoot自动配置的实现原理

    之前一直在用SpringBoot框架,一直感觉SpringBoot框架自动配置的功能很强大,但是并没有明白它是怎么实现自动配置的,现在有空研究了一下,大概明白了SpringBoot框架是怎么实现自动配 ...

  9. php7.2版本+yii2会报错

    FastCGI sent in stderr: "PHP message: PHP Fatal error:  Cannot use 'Object' as class name as it ...

  10. Android_布局属性大全

    RelativeLayout 第一类:属性值为true可false android:layout_centerHrizontal        水平居中 android:layout_centerVe ...