这篇文章将为大家详细讲解有关如何实现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 parsertopsecret['ForwardX11'] = 'no' # same hereconfig['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'])# hgprint(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 = 45compression = yescompressionlevel = 9forwardx11 = yes[bitbucket.org]user = hg[topsecret.server.com]host port = 50022forwardx11 = 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 | """
关于“如何实现Python中ini配置文件读写操作”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。