您的位置:首页 > 编程语言 > Python开发

Python编程:ini配置文件读写

2018-01-09 22:54 381 查看
导入模块

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
a9fa
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
|
"""
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: