day23_3_configparse

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# ------------------------------------------------------------
# 参考资料:
# python模块(转自Yuan先生) - 狂奔__蜗牛 - 博客园
# https://www.cnblogs.com/guojintao/articles/9070485.html
#
# 14.2. configparser — Configuration file parser — Python 3.7.0 documentation
# https://docs.python.org/3/library/configparser.html
# ------------------------------------------------------------
# ******************** day23_3_configparse *******************
# ******************** day23_3_configparse *******************
# =====>>>>>>内容概览
# =====>>>>>>内容概览


# ------------------------------------------------------------
# # 1、configparse简介
# # # ConfigParser模块在python3中修改为configparser.这个模块定义了一个ConfigParser类,该类
# # # 的作用是使用配置文件生效,配置文件的格式和windows的INI文件的格式相同
# # # 该模块的作用 就是使用模块中的RawConfigParser()、ConfigParser()、 SafeConfigParser()
# # # 这三个方法(三者择其一),创建一个对象使用对象的方法对指定的配置文件做增删改查 操作。
# ------------------------------------------------------------


# ------------------------------------------------------------
# # 2、configparse生成配置文件
# # # 生成的ini配置文件中,标签是的字符按照原来的输入生成,但是键名就是全部都会被转化成小写
# ------------------------------------------------------------

# ------------------------------------------------------------
# # 3、对 configparse生成配置文件 进行读取
# ------------------------------------------------------------

# ------------------------------------------------------------
# # 3.1、使用for对 configparse生成配置文件 进行读取
# # # 对自己所在的标签的键值读取完后,会默认读取[DEFAULT]的内容
# ------------------------------------------------------------

# ------------------------------------------------------------
# # 4、config.options、config.items、config.get
# # # 对 configparse生成配置文件 进行读取,以列表的形式输出、值
# # # 对自己所在的标签的键值读取完后,会默认读取[DEFAULT]的内容
# ------------------------------------------------------------

# ------------------------------------------------------------
# # 5、add_section、 config.write、config.set
# # #对配置文件写入标签,键名 + 键值
# ------------------------------------------------------------

# ------------------------------------------------------------
# # 6、remove_section
# # # 删除标签以及对应的内容
# ------------------------------------------------------------

# ------------------------------------------------------------
# # 7、remove_option
# # # # 删除标签内的'forwardx11'键名与对应的键值
# ------------------------------------------------------------
# ------------------------------------------------分割线-------------------------------------------------
# ------------------------------------------------分割线-------------------------------------------------
# ------------------------------------------------分割线-------------------------------------------------


'''
# ------------------------------------------------------------
# # 1、configparse简介
# # # ConfigParser模块在python3中修改为configparser.这个模块定义了一个ConfigParser类,该类
# # # 的作用是使用配置文件生效,配置文件的格式和windows的INI文件的格式相同
# # # 该模块的作用 就是使用模块中的RawConfigParser()、ConfigParser()、 SafeConfigParser()
# # # 这三个方法(三者择其一),创建一个对象使用对象的方法对指定的配置文件做增删改查 操作。

example.ini文件内容:
[DEFAULT]                   ---->>标签,默认是[]包围起来的
serveraliveinterval = 45    ---->>serveraliveinterval键名,  45 键值
# # #
# ------------------------------------------------------------
'''





'''
# ------------------------------------------------------------
# # 2、configparse生成配置文件
# # # 生成的ini配置文件中,标签是的字符按照原来的输入生成,但是键名就是全部都会被转化成小写
# ------------------------------------------------------------
'''
#
# import configparser
# 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['Port'] = '50022'         # mutates the parser
# topsecret['ForwardX11'] = 'no'      # same here
#
# config['DEFAULT']['ForwardX11'] =  'yes'
# with open('example.ini','w') as configfile:
#     config.write(configfile)
#
# # D:Anaconda3python.exe D:/C_cache/py/day23-re_logging_hashlib_MoKuaiDaoRu/day23_3_configparse.py
# #
# # Process finished with exit code 0





'''
# ------------------------------------------------------------
# # 3、对 configparse生成配置文件 进行读取

'example.ini'文件内容:
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes

[Bitbucket.org]
user = hg

[topsecret.server.com]
port = 50022
forwardx11 = no
# ------------------------------------------------------------
'''

# import configparser
# config = configparser.ConfigParser()
# # [] ,没有指定读取的文件
# print("config.sections():	".expandtabs(40), config.sections())
#
# config.read('example.ini')
# # 读标签,除默认标签外
# print("read,config.sections():	".expandtabs(40), config.sections())
#
# print("'bytebong.com' in config:	".expandtabs(40), 'bytebong.com' in config)
#
# print("config['Bitbucket.org']:	".expandtabs(40), config['Bitbucket.org'])
# print("config['Bitbucket.org']['User']:	".expandtabs(40), config['Bitbucket.org']['User'])
#
# print("config['config['DEFAULT']['Compressiong']:	".expandtabs(40), 
#       config['DEFAULT']['Compression'])
# print("config['Bitbucket.org']['User']:	".expandtabs(40), 
#       config['topsecret.server.com']['ForwardX11'])
#
#
# # D:Anaconda3python.exe D:/C_cache/py/day23-re_logging_hashlib_MoKuaiDaoRu/day23_3_configparse.py
# # config.sections():                       []
# # read,config.sections():                  ['Bitbucket.org', 'topsecret.server.com']
# # 'bytebong.com' in config:                False
# # config['Bitbucket.org']:                 <Section: Bitbucket.org>
# # config['Bitbucket.org']['User']:         hg
# # config['config['DEFAULT']['Compressiong']:                                       yes
# # config['Bitbucket.org']['User']:         no
# #
# # Process finished with exit code 0






'''
# ------------------------------------------------------------
# # 3.1、使用for对 configparse生成配置文件 进行读取
# # # 对自己所在的标签的键值读取完后,会默认读取[DEFAULT]的内容

'example.ini'文件内容:
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes

[Bitbucket.org]
user = hg

[topsecret.server.com]
port = 50022
forwardx11 = no
# ------------------------------------------------------------
'''
#
# import configparser
# config = configparser.ConfigParser()
# config.read('example.ini')
#
# for key in config['Bitbucket.org']:
#     print(key)
#

# D:Anaconda3python.exe D:/C_cache/py/day23-re_logging_hashlib_MoKuaiDaoRu/day23_3_configparse.py
# user
# serveraliveinterval
# compression
# compressionlevel
# forwardx11
#
# Process finished with exit code 0





'''
# ------------------------------------------------------------
# # 4、config.options、config.items、config.get
# # # 对 configparse生成配置文件 进行读取,以列表的形式输出、值
# # # 对自己所在的标签的键值读取完后,会默认读取[DEFAULT]的内容

'example.ini'文件内容:
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes

[Bitbucket.org]
user = hg

[topsecret.server.com]
port = 50022
forwardx11 = no
# ------------------------------------------------------------
'''
#
# import configparser
# config = configparser.ConfigParser()
# config.read('example.ini')
# # 输出键名
# print("config.options('Bitbucket.org'): 
",config.options('Bitbucket.org'))
# # 输出键名+键值
# print("config.items('Bitbucket.org'):
",config.items('Bitbucket.org'))
# # 对输出键名+键值,进行值获取
# print("config.get('Bitbucket.org'):
",config.get('Bitbucket.org','serveraliveinterval'))
#
#
# # D:Anaconda3python.exe D:/C_cache/py/day23-re_logging_hashlib_MoKuaiDaoRu/day23_3_configparse.py
# # ['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
# #
# # Process finished with exit code 0
#




'''
# ------------------------------------------------------------
# # 5、add_section、 config.write、config.set
# # #对配置文件写入标签,键名 + 键值
 
'example.ini'文件内容:
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes

[Bitbucket.org]
user = hg

[topsecret.server.com]
port = 50022
forwardx11 = no
# ------------------------------------------------------------
'''
#
# import configparser
#
# config = configparser.ConfigParser()
# config.read('example.ini')
# # 添加标签
# config.add_section("YUAN")
#
# # 添加标签
# config.add_section("AAa")
# # 对标签的内容进行写入  键名 + 键值
# config.set('AAa','k9','99999')
#
# # 写入
# with open('example.ini','w') as configfile:
#     config.write(configfile)
#
# D:Anaconda3python.exe D:/C_cache/py/day23-re_logging_hashlib_MoKuaiDaoRu/day23_3_configparse.py
#
# Process finished with exit code 0






'''
# ------------------------------------------------------------
# # 6、remove_section
# # # 删除标签以及对应的内容

'example.ini'文件内容:
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes

[bitbucket.org]
user = hg

[YUAN]

[AAa]
k9 = 99999
# ------------------------------------------------------------
'''
#
# import configparser
#
# config = configparser.ConfigParser()
# config.read('example.ini')
#
# # 删除标签以及对应的内容
# config.remove_section('topsecret.server.com')
#
# # 写入
# with open('example.ini','w') as configfile:
#     config.write(configfile)
#
# # D:Anaconda3python.exe D:/C_cache/py/day23-re_logging_hashlib_MoKuaiDaoRu/day23_3_configparse.py
# #
# # Process finished with exit code 0
#
#






'''
# ------------------------------------------------------------
# # 7、remove_option
# # # # 删除标签内的'forwardx11'键名与对应的键值

'example.ini'文件内容:
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes

[bitbucket.org]
user = hg

[YUAN]

[AAa]
k9 = 99999
# ------------------------------------------------------------
'''
#
# import configparser
#
# config = configparser.ConfigParser()
# config.read('example.ini')
#
# # 删除标签内的'forwardx11'键名与对应的键值
# config.remove_option('topsecret.server.com','forwardx11')
# # 写入
# with open('example.ini','w') as configfile:
#     config.write(configfile)

# D:Anaconda3python.exe D:/C_cache/py/day23-re_logging_hashlib_MoKuaiDaoRu/day23_3_configparse.py
#
# Process finished with exit code 0

  

原文地址:https://www.cnblogs.com/jyfootprint/p/9449531.html