脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python中ini配置文件读写的实现

Python中ini配置文件读写的实现

2022-10-07 13:43彭世瑜psy Python

本文主要介绍了Python中ini配置文件读写的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

导入模块

?
1
import configparser # py3

写入

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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)

读取

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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

修改

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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文件

?
1
2
3
4
5
6
7
8
9
10
11
12
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes
 
[bitbucket.org]
user = hg
 
[topsecret.server.com]
host port = 50022
forwardx11 = no

help(configparser)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
"""
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配置文件读写的实现的文章就介绍到这了,更多相关Python ini文件读写内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.51cto.com/u_13567403/5017302

延伸 · 阅读

精彩推荐
  • Python在Python中利用Pandas库处理大数据的简单介绍

    在Python中利用Pandas库处理大数据的简单介绍

    这篇文章简单介绍了在Python中利用Pandas处理大数据的过程,Pandas库的使用能够很好地展现数据结构,是近来Python项目中经常被使用使用的热门技术,需要的朋友...

    脚本之家4332020-05-31
  • PythonPython实现身份证号码解析

    Python实现身份证号码解析

    本文给大家汇总介绍下使用Python实现身份证号码验证解析的几个方法,有需要的小伙伴可以参考下。...

    脚本之家36122020-07-30
  • PythonPycharm cannot set up a python SDK问题的原因及解决方法

    Pycharm cannot set up a python SDK问题的原因及解决方法

    这篇文章主要给大家介绍了关于Pycharm cannot set up a python SDK问题的原因及解决方法,这个问题已经不是第一次出现了,所以干脆总结下,需要的朋友可以参考下...

    山河不见老5502022-06-27
  • Python写好Python代码的几条重要技巧

    写好Python代码的几条重要技巧

    好的代码具有易理解、可扩展、易维护的特点,简直是人见人爱。本文就将介绍写好python代码的多个技巧...

    Python开发者12222021-11-10
  • Python在python中实现对list求和及求积

    在python中实现对list求和及求积

    今天小编就为大家分享一篇在python中实现对list求和及求积,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    强哥之神8602021-04-19
  • Pythonpython绘制三维图的详细新手教程

    python绘制三维图的详细新手教程

    通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,下面这篇文章主要给大家介绍了关于python绘制三维图的相关资料,文中通过图文介绍...

    桂。8562022-08-30
  • Python利用Python+OpenCV三步去除水印

    利用Python+OpenCV三步去除水印

    去水印需要用到的库:cv2、numpy,cv2是基于OpenCV的图像处理库,可以对图像进行腐蚀,膨胀等操作.numpy这是一个强大的处理矩阵和维度运算的库,,需要的朋友可以...

    yunyun云芸4582021-11-16
  • Pythonpython selenium实现智联招聘数据爬取

    python selenium实现智联招聘数据爬取

    这篇文章主要介绍了python selenium实现智联招聘数据爬取,需要的朋友可以参考下...

    爱吃猫的鱼1017922021-10-16