开发者

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("exa编程客栈mple.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, varshttp://www.cppcns.com=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, http://www.cppcns.comsource='<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=No编程客栈ne)
  |   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配置文件读写的实现的文章就介绍到这了,更多相关Python ini文件读写内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜