文章目录

  • configparser模块简介
  • 看一下configparser生成的配置文件的格式
  • 现在看一下类似上方的配置文件是如何生成的
  • 读文件内容
  • 修改

configparser模块简介

该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。节与java原先的配置文件相同的格式

看一下configparser生成的配置文件的格式

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

现在看一下类似上方的配置文件是如何生成的

import configparser #引入模块config = configparser.ConfigParser()    #类中一个方法 #实例化一个对象config["DEFAULT"] = {'ServerAliveInterval': '45','Compression': 'yes','CompressionLevel': '9','ForwardX11':'yes'}   #类似于操作字典的形式config['bitbucket.org'] = {'User':'Atlan'} #类似于操作字典的形式config['topsecret.server.com'] = {'Host Port':'50022','ForwardX11':'no'}with open('example.ini', 'w') as configfile:config.write(configfile) #将对象写入文件

解释一下,操作方式

config["DEFAULT"] = {'ServerAliveInterval': '45','Compression': 'yes','CompressionLevel': '9','ForwardX11':'yes'} #类似于操作字典的形式
#config后面跟的是一个section的名字,section的段的内容的创建类似于创建字典。类似与字典当然还有别的操作方式啦!
config['bitbucket.org'] = {'User':'Atlan'}  #类似与最经典的字典操作方式

和字典的操作方式相比,configparser模块的操作方式,无非是在实例化的对象后面,跟一个section,在紧跟着设置section的属性(类似字典的形式)

读文件内容

import configparserconfig = configparser.ConfigParser()#---------------------------查找文件内容,基于字典的形式print(config.sections())        #  []config.read('example.ini')print(config.sections())        #   ['bitbucket.org', 'topsecret.server.com']print('bytebong.com' in config) # False
print('bitbucket.org' in config) # Trueprint(config['bitbucket.org']["user"])  # Atlanprint(config['DEFAULT']['Compression']) #yesprint(config['topsecret.server.com']['ForwardX11'])  #noprint(config['bitbucket.org'])          #<Section: bitbucket.org>for key in config['bitbucket.org']:     # 注意,有default会默认default的键print(key)print(config.options('bitbucket.org'))  # 同for循环,找到'bitbucket.org'下所有键print(config.items('bitbucket.org'))    #找到'bitbucket.org'下所有键值对print(config.get('bitbucket.org','compression')) # yes       get方法Section下的key对应的value

修改

import configparserconfig = configparser.ConfigParser()config.read('example.ini')  #读文件config.add_section('yuan')  #添加sectionconfig.remove_section('bitbucket.org') #删除section
config.remove_option('topsecret.server.com',"forwardx11") #删除一个配置想config.set('topsecret.server.com','k1','11111')
config.set('yuan','k2','22222')
with open('new2.ini','w') as f:config.write(f)

python【Configparser解析配置文件库】Python3中的configparser模块相关推荐

  1. 用Python提取解析pdf文档中内容

    用Python提取解析pdf文档中内容 文章目录: 参考: 1.https://blog.csdn.net/tmaczt/article/details/82876018 # Tika库 2.http ...

  2. 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )

    文章目录 一.PyCharm 中进行断点调试 二.ELFFile 实例对象分析 一.PyCharm 中进行断点调试 在上一篇博客 [Android 逆向]使用 Python 代码解析 ELF 文件 ( ...

  3. python没有错误但是不显示结果_为什么我在Python3中加载模块时遇到问题但在Python2中没有加载?...

    根据我使用的 Python安装,我在加载模块时遇到了一些问题.当我输入 from quantecon import approx_markov 在使用Python 3.4.0的终端中,返回以下错误消息 ...

  4. python双除_python2和python3 中的除法的区别

    1. python2中有/和//的除法区别: 其中/的用法: >>>1/2 0 即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分 有时候,这 ...

  5. python3中zip函数_用python实现矩阵转置,python3 中zip()函数

    前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...

  6. python3中使用subprocess模块执行外部命令

    一. subprocess模块介绍 subprocess模块可以替代os模块下的os.system和os.popen等操作方法 subprocess模块在python2和python3上的使用上有一定 ...

  7. python怎么打开h5文件_python中利用h5py模块读取h5文件中的主键方法

    如下所示: import h5py import numpy as np #HDF5的写入: imgData = np.zeros((2,4)) f = h5py.File('HDF5_FILE.h5 ...

  8. python asyncio教程_在Python3中使用asyncio库进行快速数据抓取的教程

    web数据抓取是一个经常在python的讨论中出现的主题.有很多方法可以用来进行web数据抓取,然而其中好像并没有一个最好的办法.有一些如scrapy这样十分成熟的框架,更多的则是像mechanize ...

  9. python keras安装配置_Keras官方中文文档:Keras安装和配置指南(Linux)

    关于计算机的硬件配置说明 推荐配置 如果您是高校学生或者高级研究人员,并且实验室或者个人资金充沛,建议您采用如下配置: 主板:X299型号或Z270型号 CPU: i7-6950X或i7-7700K ...

最新文章

  1. windows 内存泄露和资源泄漏调试
  2. 3142:[HNOI2013]数列 - BZOJ
  3. Ubuntu文件中文乱码
  4. SetForceGroundWindow
  5. 淘宝上线了新功能,有点元宇宙的意思了
  6. (NO.00003)iOS游戏简单的机器人投射游戏成形记(一)
  7. 手写 Promise.race
  8. python select實現非阻塞socket
  9. 【python问题系列--4】ValueError: operands could not be broadcast together with shapes (100,3) (3,1)...
  10. 11(1)-AirSim+四旋翼仿真-人工势场法动态避障
  11. java取拼音首字母_java取出汉字字符串的拼音首字母
  12. ds18b20触摸没反应_写个DS18B20初始化程序,死活没反应
  13. 基于vue利用openlayers加载天地图,高德地图
  14. oracle SQL以结尾函数,Oracle SQL 内置函数大全
  15. JOYMY九脉换弹电子烟评测
  16. Unity - Timeline 之 Panning and zooming the Clips view(移动与缩放Clip剪辑视图)
  17. uclinux开发概述
  18. 八、量子纠缠状态的纯化协议及其应用
  19. JSON对象转java对象 JSON数组转LIST数组
  20. FCM算法原理及matlab实现

热门文章

  1. Unable to get repr for<class‘torch.Tensor‘>
  2. flask 获取网址
  3. 'CUDA driver version is insufficient for CUDA runtime version
  4. keras打印模型结构
  5. pyqt setStyleSheet用法
  6. 傅里叶变换时间复杂度
  7. codeblocks常用配置
  8. BGP 路由属性 公认必遵 ORIGIN
  9. java自学语法_Java自学笔记(一):基础知识
  10. mac设置linux环境,如何在mac或者linux配置oh-my-zsh