小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python 操作ini 配置文件大全

 刮骨劍 2019-07-21

原文鏈接:https://www.cnblogs.com/bert227/p/9326313.html

 

ConfigParser模塊在python中是用來讀取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一個或多個節(jié)(section),每個節(jié)可以有多個參數(shù)(鍵=值)。 
注意:在python 3 中ConfigParser模塊名已更名為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
config.read('example.ini',encoding="utf-8")
"""讀取配置文件,python3可以不加encoding"""
options(section)
"""sections(): 得到所有的section,并以列表的形式返回"""
config.defaults()
"""defaults():返回一個包含實例范圍默認值的詞典"""
config.add_section(section)
"""添加一個新的section"""
config.has_section(section)
"""判斷是否有section"""
print(config.options(section))
"""得到該section的所有option"""
has_option(section, option)
"""判斷如果section和option都存在則返回True否則False"""
read_file(f, source=None)
"""讀取配置文件內容,f必須是unicode"""
read_string(string, source=’’)
"""從字符串解析配置數(shù)據(jù)"""
read_dict(dictionary, source=’’)
"""從詞典解析配置數(shù)據(jù)"""
get(section, option, *, raw=False, vars=None[, fallback])
"""得到section中option的值,返回為string類型"""
getint(section,option)
"""得到section中option的值,返回為int類型"""
getfloat(section,option)
"""得到section中option的值,返回為float類型"""
getboolean(section, option)
"""得到section中option的值,返回為boolean類型"""
items(raw=False, vars=None)
"""和items(section, raw=False, vars=None):列出選項的名稱和值"""
set(section, option, value)
"""對section中的option進行設置"""
write(fileobject, space_around_delimiters=True)
"""將內容寫入配置文件。"""
remove_option(section, option)
"""從指定section移除option"""
remove_section(section)
"""移除section"""
optionxform(option)
"""將輸入文件中,或客戶端代碼傳遞的option名轉化成內部結構使用的形式。默認實現(xiàn)返回option的小寫形式;"""
readfp(fp, filename=None)
"""從文件fp中解析數(shù)據(jù)"""

生成configparser文件實例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import configparser  #配置文件
config = configparser.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'
"""寫入后綴為.ini的文件"""
with open('example.ini', 'w') as configfile:
    config.write(configfile)

運行結果:

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

讀取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
import configparser  #配置文件
config = configparser.ConfigParser()
config.read("example.ini")
print("所有節(jié)點==>",config.sections())
print("包含實例范圍默認值的詞典==>",config.defaults())
for item in config["DEFAULT"]:
    print("循環(huán)節(jié)點topsecret.server.com下所有option==>",item)
print("bitbucket.org節(jié)點下所有option的key,包括默認option==>",config.options("bitbucket.org"))
print("輸出元組,包括option的key和value",config.items('bitbucket.org'))
print("bitbucket.org下user的值==>",config["bitbucket.org"]["user"]) #方式一
topsecret = config['bitbucket.org']
print("bitbucket.org下user的值==>",topsecret["user"]) #方式二
print("判斷bitbucket.org節(jié)點是否存在==>",'bitbucket.org' in config)
print("獲取bitbucket.org下user的值==>",config.get("bitbucket.org","user"))
print("獲取option值為數(shù)字的:host port=",config.getint("topsecret.server.com","host port"))

運行結果

1
2
3
4
5
6
7
8
9
10
11
12
13
所有節(jié)點==> ['bitbucket.org', 'topsecret.server.com']
包含實例范圍默認值的詞典==> OrderedDict([('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes')])
循環(huán)節(jié)點topsecret.server.com下所有option==> serveraliveinterval
循環(huán)節(jié)點topsecret.server.com下所有option==> compression
循環(huán)節(jié)點topsecret.server.com下所有option==> compressionlevel
循環(huán)節(jié)點topsecret.server.com下所有option==> forwardx11
bitbucket.org節(jié)點下所有option的key,包括默認option==> ['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
輸出元組,包括option的key和value [('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'hg')]
bitbucket.org下user的值==> hg
bitbucket.org下user的值==> hg
判斷bitbucket.org節(jié)點是否存在==> True
獲取bitbucket.org下user的值==> hg
獲取option值為數(shù)字的:host port= 50022

刪除配置文件section和option的實例(默認分組有參數(shù)時無法刪除,但可以先刪除下面的option,再刪分組)

1
2
3
4
5
6
7
8
import configparser  #配置文件
config = configparser.ConfigParser()
config.read("example.ini")
config.remove_section("bitbucket.org")
"""刪除分組"""
config.remove_option("topsecret.server.com","host port")
"""刪除某組下面的某個值"""
config.write(open('example.ini', "w"))

運行結果

1
2
3
4
5
6
7
8
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes
[topsecret.server.com]
forwardx11 = no

配置文件的修改實例

1
2
3
4
5
6
7
8
9
"""修改"""
import configparser
config = configparser.ConfigParser()
config.read("example.ini")
config.add_section("new_section")
"""新增分組"""
config.set("DEFAULT","compressionlevel","110")
"""設置DEFAULT分組下compressionlevel的值為110"""
config.write(open('example.ini', "w"))

運行結果

1
2
3
4
5
6
7
8
9
10
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 110
forwardx11 = yes
[topsecret.server.com]
forwardx11 = no
[new_section]

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約