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. mvc Area(区域)相关技术

    ASP.NET MVC中,是依靠某些文件夹以及类的固定命名规则去组织model实体层,views视图层和控制层的.如果是大规模的应用程序,经常会由不同功能的模块组成,而每个功能模块都由MVC中的三层所 ...

  2. 《C++ Primer(第五版)》知识巩固

    运行平台:ubuntu 12.04/GCC 4.8.0 第二章:基本内置类型 1.decltype类型指示符 当我们从表达式的类型来推断要定义的类型时,可以使用decltype()来解析:declty ...

  3. C++下混合编译c语言方法总结

    最近在读SGI STL源码,感觉对C++的学习很有帮助,之前对于泛型.iterator.traits等等各种特性的概念非常模糊,通过这两天的琢磨,再加上<STL 源码剖析>的帮助,对C++ ...

  4. PHP的file_get_contents()方法,将整个文件读入字符串中

    <?php $post_data = file_get_contents("e:\\1.txt"); echo $post_data; ?> 更多信息看这里:http: ...

  5. PHP多维数据排序(不区分大小字母)

    1. PHP中最普通的数组排序方法 sort(); 看个例子: <?php $test = array(); $test[] = 'ABCD'; $test[] = 'aaaa'; $test[ ...

  6. 九度oj 1002 Grading 2011年浙江大学计算机及软件工程研究生机试真题

    #include<iostream> #include<queue> #include<cstdio> #include<cstring> #inclu ...

  7. awk如何替换一个字符串的第n个字符?

    方法一: echo "abcdefg" | awk 'BEGIN{FS=OFS=""}$4="h"'    // ""可 ...

  8. smarty assign 赋值

    assign赋值 void assign (mixed var) void assign (string varname, mixed var) This is used to assign valu ...

  9. Collections自定义List排序规则

    Collections自定义List排序规则 //这里的顺序,是我自己定义的一个List<String> String[] regulation = {"jams",& ...

  10. 第11章 Media Queries 与Responsive 设计

    Media Queries--媒体类型(一) 随着科学技术不断的向前发展,网页的浏览终端越来越多样化,用户可以通过:宽屏电视.台式电脑.笔记本电脑.平板电脑和智能手机来访问你的网站.尽管你无法保证一个 ...