Python中ini配置文件读写的实现
作者:彭世瑜psy 发布时间:2021-03-15 09:52:01
标签:Python,ini,文件读写
导入模块
import configparser # py3
写入
config = configparser.ConfigParser()
config["DEFAULT"] = {
'ServerAliveInterval': '45',
'Compression': 'yes',
'CompressionLevel': '9'
}
config['bitbucket.org'] = {}
config['bitbucket.org']['User'] = 'hg'
config['topsecret.server.com'] = {}
topsecret = config['topsecret.server.com']
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 = configparser.ConfigParser()
config.read("example.ini")
print(config.defaults())
# OrderedDict([('compression', 'yes')])
print(config.sections())
# ['bitbucket.org', 'topsecret.server.com']
print(config['bitbucket.org']['User'])
# hg
print(config.options("topsecret.server.com"))
# ['port', 'compression']
print(config.items("topsecret.server.com"))
# [('compression', 'yes'), ('port', '50022')]
print(config.get("topsecret.server.com", "port"))
# 50022
修改
print(config.has_section("Name"))
# 删除
config.remove_section("Name")
# 添加
config.add_section("Name")
config["Name"]["name"] = "Tom"
config["Name"]["asname"] = "Jimi"
# 设置
config.remove_option("Name", "asname")
config.set("Name", "name", "Jack")
# 保存
config.write(open("example.ini", "w"))
附:ini文件
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes
[bitbucket.org]
user = hg
[topsecret.server.com]
host port = 50022
forwardx11 = no
help(configparser)
"""
CLASSES
class ConfigParser(RawConfigParser)
| ConfigParser implementing interpolation.
|
| add_section(self, section)
| Create a new section in the configuration. Extends
| RawConfigParser.add_section by validating if the section name is
| a string.
|
| set(self, section, option, value=None)
| Set an option. Extends RawConfigParser.set by validating type and
| interpolation syntax on the value.
|
| defaults(self)
|
| get(self, section, option, *, raw=False, vars=None, fallback=<object object at 0x0000000002F42120>)
| Get an option value for a given section.
|
| getboolean(self, section, option, *, raw=False, vars=None, fallback=<object object at 0x0000000002F42120>)
|
| getfloat(self, section, option, *, raw=False, vars=None, fallback=<object object at 0x0000000002F42120>)
|
| getint(self, section, option, *, raw=False, vars=None, fallback=<object object at 0x0000000002F42120>)
|
| has_option(self, section, option)
| Check for the existence of a given option in a given section.
| If the specified `section' is None or an empty string, DEFAULT is
| assumed. If the specified `section' does not exist, returns False.
|
| has_section(self, section)
| Indicate whether the named section is present in the configuration.
| items(self, section=<object object at 0x0000000002F42120>, raw=False, vars=None)
| Return a list of (name, value) tuples for each option in a section.
|
| options(self, section)
| Return a list of option names for the given section name.
| popitem(self)
| Remove a section from the parser and return it as
| read(self, filenames, encoding=None)
| Read and parse a filename or a list of filenames.
| Return list of successfully read files.
|
| read_dict(self, dictionary, source='<dict>')
| Read configuration from a dictionary.
|
| read_file(self, f, source=None)
| Like read() but the argument must be a file-like object.
|
| read_string(self, string, source='<string>')
| Read configuration from a given string.
|
| readfp(self, fp, filename=None)
| Deprecated, use read_file instead.
|
| remove_option(self, section, option)
| Remove an option.
|
| remove_section(self, section)
| Remove a file section.
|
| sections(self)
| Return a list of section names, excluding [DEFAULT]
|
| write(self, fp, space_around_delimiters=True)
| Write an .ini-format representation of the configuration state.
|
| clear(self)
| D.clear() -> None. Remove all items from D.
|
| pop(self, key, default=<object object at 0x0000000002F42040>)
| D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
| If key is not found, d is returned if given, otherwise KeyError is raised.
|
| setdefault(self, key, default=None)
| D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
|
| update(*args, **kwds)
| D.update([E, ]**F) -> None. Update D from mapping/iterable E and F.
| If E present and has a .keys() method, does: for k in E: D[k] = E[k]
| If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v
| In either case, this is followed by: for k, v in F.items(): D[k] = v
|
| keys(self)
| D.keys() -> a set-like object providing a view on D's keys
|
| values(self)
| D.values() -> an object providing a view on D's values
|
"""
来源:https://blog.51cto.com/u_13567403/5017302


猜你喜欢
- 前言前面几个章节我们学习了对于普通文件的操作,比如说文件的创建、复制粘贴、裁剪粘贴、文件名的重命名、删除等等。另外还学习了一些基本练习,如何
- 算术运算符对数值类型的变量及常量进行算数运算。也是最简单和最常用的运算符号。四则混合运算,遵循 “先乘除后加减&
- 在操作过程中,两表查询都没有问题,但是三表查询就开始出现问题有以下三张表,分表为pl表(uid,content),user表(id,user
- adonet基础示例分享using System;using System.Collections.Generic;using System
- 成为一个顶级设计师的第一准则:限制你的字体让你成为设计大的七个基本原则之一好~设计大师,或者也太吹牛了吧,但根据下面七个基本原则至少你可以成
- MySQL 5.7.18免安装版安装教程MySQL是世界上目前最流行的开源数据库。许多大厂的核心存储往往都是MySQL。要安装MySQL,可
- 在Python中,代码越少越好、越简单越好。基于这一思想,需要掌握Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码。代
- 1、str.split不支持正则及多个切割符号,不感知空格的数量,比如用空格切割,会出现下面情况。>>> s1="
- Python求解微分方程(数值解法)对于一些微分方程来说,数值解法对于求解具有很好的帮助,因为难以求得其原方程。比如方程:但是我们知道了它的
- 为了保护系统或数据安全,我们需要最佳随机密码。这里使用unix系统定义的文件设备/dev/random,从中获取随机数生成器的种子。需求说明
- 一.__eq__方法在我们定义一个类的时候,常常想对一个类所实例化出来的两个对象进行判断这两个对象是否是完全相同的。一般情况下,我们认为如果
- 本文为大家分享了python爱心表白的具体代码,供大家参考,具体内容如下import turtleimport time# 画爱心的顶部de
- 说明和代码如下:<%@ language = vbscript%><% 
- ⭐️网页解析利器parsel实战我们以实际的案例,来具体了解学习其功能。我们在这里重点讲解其两种方式。一个是XPATH,一个是CSS。我们以
- 如下所示:' '.join(line.split())例如:'line dd',运行line.split()
- Lightbox里面的一个函数,能把页面实际的高宽与浏览器可视面积的高宽保存在一个数组中..非常好用.什么是Lightbox?下载light
- 导语九月初家里的熊孩子终于开始上学了!半个月过去了,小孩子每周都会带着一堆的数学作业回来,哈哈哈哈~真好,在家做作业就没时间打扰我写代码了。
- 由于CPython实现中的GIL的限制,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大
- pandas转数组np.array(pandas)数组转pandaspandas.DataFrame(numpy)pandas连接,只是左右
- 如何写入超长的字符串? 我们可使用Command写入,来完成大容量的字符串的操作: dim&n