configparse模块常用于生成和修改常见的配置文档

生成配置模块:用字典写

import configparser

config = configparser.ConfigParser()
config["DEFAULT"] = {'ServerAliveInterval': '45',
'Compression': 'yes',
'CompressionLevel': '9'} config['USER'] = {}
config['USER']['User'] = 'hhh'
config['SSH'] = {}
topsecret = config['SSH']
topsecret['Host Port'] = '50022' # mutates the parser
topsecret['ForwardX11'] = 'no' # same here
config['DEFAULT']['ForwardX11'] = 'yes'
with open('example.ini', 'w') as configfile:
config.write(configfile)

读取配置:config.sections()

import configparser
config = configparser.ConfigParser()
config.read('example.ini')
print(config.sections()) # ['USER', 'SSH'], 默认不dayin[DEFAULT]模块
print(config['USER']) # <Section: USER>
print(config['USER']['user']) # hg
print(config.defaults()) # 打印默认模块, 打印出来一个有序的字典
print(config.has_section('USER')) # True
OrderedDict
print(config['DEFAULT']['compressionlevel']) # 9 # 打印默认模块, 打印出来一个有序的字典OrderedDict
# 跟字典一样,只打印key的信息
for key in config['DEFAULT']:
# print(key, v) 报错, too many values to unpack (expected 2)
print(key)

删除整个模块: remove,文件不能修改,只能覆盖,可以重新写入新的文件

import configparser
config = configparser.ConfigParser()
config.read('example.ini') # 文件不能修改,只能覆盖,可以重新写入新的文件
config.remove_section('SSH')
with open('example.ini', 'w', encoding='utf-8') as f:
config.write(f)
print(config.sections())

删除模块下的某个元素

import configparser
config = configparser.ConfigParser()
config.read('example.ini') print(config.has_option('USER', 'user'))
config.remove_option('USER', 'user')
print(config.has_option('USER', 'user')) with open('example.ini', 'w', encoding='utf-8') as f:
config.write(f)

修改配置:

import configparser
config = configparser.ConfigParser()
config.read('example.ini') print(config['USER']['user'])
config.set('USER', 'user', 'ftl')
print(config['USER']['user']) with open('example.ini', 'w', encoding='utf-8') as f:
config.write(f)

Python学习---重点模块之configparse的更多相关文章

  1. Python学习---重点模块的学习【all】

    time     [时间模块] import time # print(help(time)) # time模块的帮助 print(time.time()) # 时间戳 print(time.cloc ...

  2. Python学习---重点模块之re

    正则表达式是用来操作字符串,但是字符串提供的正则是完全匹配,有时候我们需要进行模糊匹配,这个时候就需要正则表达式了.通过re模块来实现,由C语言来执行底层的匹配 字符匹配(普通字符,元字符): 1 普 ...

  3. Python学习---重点模块之subprocess

    subprocess是用来执行系统程序,查看系统的模块, 查看当前目录 第一种方法: import subprocess # subprocess会单独自己开辟一个线程,内部是多线程 # stdout ...

  4. Python学习---重点模块之logging

    日志级别 日志级别  critical > error > warning > info > debug, 默认是从warning开始打印 import logging # 日 ...

  5. Python学习---重点模块之json

    注意:JSON不能转换类,不能转换函数 重点方法示例 json.dumps():实现文件写入,字符串转换[写入文件当然是JSON字符串楼] 实际上,json.dumps()只是帮我们做了一个字符串的转 ...

  6. Python学习---重点模块之pickle

    仅仅支持Python里面的函数等相关功能的实现,而且pickle写入的内容是看不出来的,读取的时候要求有原内容 pickled的写入: import pickle def fun(): print(' ...

  7. Python学习---重点模块之shelve

    简单示例 import shelve f = shelve.open(r'shelve.txt') f['info'] = {'name':'ftl', 'age':23, 'sex': 'male' ...

  8. Python学习---重点模块之xml

    xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单 数据准备 <?xml version="1.0"?> <data&g ...

  9. Python学习--Selenium模块

    1. Python学习--Selenium模块介绍(1) 2.Python学习--Selenium模块学习(2) 其他: 1. Python学习--打码平台

随机推荐

  1. Java中的值传递和地址传递(传值、传引用)

    首先,不要纠结于 Pass By Value 和 Pass By Reference 的字面上的意义,否则很容易陷入所谓的“一切传引用其实本质上是传值”这种并不能解决问题无意义论战中.更何况,要想知道 ...

  2. Unity QualitySettings.vSyncCount 垂直同步数

    QualitySettings.vSyncCount 垂直同步数 Description 描述 The VSync Count. 垂直同步数. The number of VSyncs that sh ...

  3. 再探php

    1. 如何打开一个php文件? 启动本地服务器和MySQL, 然后将php文件放在xampp -> htdocs  目录下(可以是子目录.孙子目录 ......),打开浏览器,在浏览器中输入 l ...

  4. orcale 之函数

    我们知道存储过程的调用是一条 PL/SQL 语句.那么对于一些表达式我们用什么呢?这里函数的功能就会体现出来了. 函数和过程在创建方式上有很多的类似地方,也是编译后放入内存中以供用户使用,只不过函数调 ...

  5. MySQL优化--创建索引,以及怎样索引才会生效 (03)

    1. 创建索引 (看这里) 2.索引在什么情况下才会起作用(重点)

  6. WeUI logo专为微信设计的 UI 库 WeUI

    http://www.oschina.net/p/weui?fromerr=FnwHyWAb http://weui.github.io/weui/

  7. .net HttpClient的使用

    在程序用调用 Http 接口.请求 http 资源.编写 http 爬虫等的时候都需要在程序集中进行 Http 请 求.  很多人习惯的 WebClient.HttpWebRequest 在 TPL ...

  8. Java并发编程:深入剖析ThreadLocal (总结)

    ThreadLocal好处 Java并发编程的艺术解释好处是:get和set方法的调用可以不用在同一个方法或者同一个类中. 问答形式总结: 1. ThreadLocal类的作用 ThreadLocal ...

  9. Google自写插件详解

    谷歌插件详解,跳转至个人主页查看. GoogleExtension

  10. Windows API 编程----将错误代码转换成错误描述信息

    Windows编程有时会因为调用函数而产生错误,调用GetLastError()函数可以得到错误代码.如果错误代码为0,说明没有错误:如果错误代码不为0,则说明存在错误. 而错误代码不方便编程人员或用 ...