1. 程式人生 > >二十二、configparser

二十二、configparser

def ebo efault item for ive import port gpa

configparser

  用於讀寫文件,但是必須是下面的格式

  將這種文件當字典處理:

      {key:{key1=value}}

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
  
[bitbucket.org]
User = hg
  
[topsecret.server.com]
Port = 50022
ForwardX11 = no

  用python創建一個該格式文檔

import configparser
config = configparser.ConfigParser()        # 實例化對象
config["DEFAULT"] = {‘ServerAliveInterval‘: ‘45‘,           # 字典方式寫內容
                      ‘Compression‘: ‘yes‘,
                     ‘CompressionLevel‘: ‘9‘,
                     ‘ForwardX11‘:‘yes‘
                     }
config[‘bitbucket.org‘] = {‘User‘:‘hg‘}
config[‘topsecret.server.com‘] = {‘Host Port‘:‘50022‘,‘ForwardX11‘:‘no‘}
with open(‘example.ini‘, ‘w‘) as f:
   config.write(f)

  

import configparser

config = configparser.ConfigParser()
#---------------------------查找文件內容,基於字典的形式
print(config.sections())        #  []
config.read(‘example.ini‘)
print(config.sections())    #   [‘bitbucket.org‘, ‘topsecret.server.com‘] 查字段的名字;這裏沒有DEFAULT,是默認的,它的信息是共有的,最好別輕易改動,其他的是自定義的

print(‘bytebong.com‘ in config) # False     判斷字段是否存在
print(‘bitbucket.org‘ in config) # True     。。。。

print(config[‘bitbucket.org‘]["user"])  # hg    字典方式取值
print(config[‘DEFAULT‘][‘Compression‘]) #yes    。。。
print(config[‘topsecret.server.com‘][‘ForwardX11‘])  #no   。。。

print(config.items("bitbucket.org"))    # [(‘serveraliveinterval‘, ‘45‘), (‘compression‘, ‘yes‘), (‘compressionlevel‘, ‘9‘), (‘forwardx11‘, ‘yes‘), (‘user‘, ‘hg‘)]
print(config[‘bitbucket.org‘])          #<Section: bitbucket.org>

for key in config[‘bitbucket.org‘]:     # 註意,有default會默認default的鍵
    print(key)
print(config.options(‘bitbucket.org‘))  # 同for循環,找到‘bitbucket.org‘下所有鍵
print(config.items(‘bitbucket.org‘))    #找到‘bitbucket.org‘下所有鍵值對
print(config.get(‘bitbucket.org‘,‘compression‘)) # yes       get方法取深層嵌套的值

  

增刪改

import configparser

config = configparser.ConfigParser()
config.read(‘example.ini‘)
config.add_section(‘shuai‘)
config.remove_section(‘bitbucket.org‘)
config.remove_option(‘topsecret.server.com‘,"forwardx11")
config.set(‘topsecret.server.com‘,‘k1‘,‘11111‘)
config.set(‘shuai‘,‘k‘,‘666‘)
config.write(open(‘new2.ini‘, "w"))

  

二十二、configparser