zoukankan      html  css  js  c++  java
  • configparser模块——用于生成和修改常见配置文档

    • 配置文档格式
    • 1 [DEFAULT]
      2 ServerAliveInterval = 45
      3 Compression = yes
      4 CompressionLevel = 9
      5 ForwardX11 = yes
      6 
      7 [bitbucket.org]
      8 User = hg
      配置文档文件格式
    • 解析配置文件:查询
    •  1 #-*- coding:utf-8 -*-
       2 #解析配置文件
       3 import configparser
       4 config = configparser.ConfigParser()
       5 print(config.sections())#[],此时打印为空,因为还没有读文件呢
       6 config.read("example.ini")
       7 print(config.sections())#打印节点['bitbucket.org', 'topsecret.server.com']
       8 if 'bitbucket.org' in config:  #判断该节点是否在配置文件中
       9     print('true')
      10 print(config['bitbucket.org']['User'])#hg,查询value值,操作方式和字典一样
      11 print(config['DEFAULT']['Compression'])#yes,查询value值,操作方式和字典一样
      12 topsecret = config['topsecret.server.com']
      13 print(topsecret['ForwardX11'])#no
      14 print(topsecret['Port'])#50022
      15 
      16 for key in config['bitbucket.org']:#用for循环打印,除打印除'bitbucket.org'内的key,也会打印出'default’中的key,
      17                                         # 'default'中的内容是默认每个节点模块共享的,这样可以避免重复写
      18     print(key)#user serveraliveinterval  compression  compressionlevel forwardx11
      解析配置文件
    • 其他增删改查语法
    •  1 import configparser
       2 config = configparser.ConfigParser()
       3 config.read('example.ini')
       4 secs = config.sections()#获取节点
       5 print(secs)#['bitbucket.org', 'topsecret.server.com']
       6 options = config.options('bitbucket.org')#获取某一节点下的KEY
       7 print(options)#['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
       8 item_list = config.items('bitbucket.org')#获取某一节点下的KEY,value
       9 print(item_list)#[('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'hg')]
      10 val = config.get('bitbucket.org','serveraliveinterval')
      11 print(val)#45,str格式
      12 val = config.getint('bitbucket.org','serveraliveinterval')
      13 print(val)#45,int格式
       
    • import configparser
      config = configparser.ConfigParser()
      config.read('example.ini')
      #remove section
      # sec = config.remove_section('bitbucket.org')#移除'bitbucket.org'节点
      # print(sec)##True:移除成功,False:移除失败(内容不存在)
      # config.write(open('example.ini','w'))#写
      #Add section
      # sec = config.has_section('group1')#判断该节点是否存在
      # print(sec)#False:不存在,True:存在
      # sec = config.add_section('group1')#添加,如果已经存在,会报错
      # config.write(open('example.ini','w'))
      
      #add option
      # config.set('group1','K1','11111')#给group1节点添加内容,如果group1不存在,会报错
      # config.write(open('example.ini','w'))
      
      #remove option
      # sec = config.remove_option('group1','K1')#移除option
      # print(sec)#True:移除成功,False:移除失败(内容不存在)
      # config.write(open('example.ini','w'))
      remove,add
  • 相关阅读:
    DNS 壓力測試
    2008IT技术精英年会数据库分论坛热点扫描
    DOS command
    说说大型高并发高负载网站的系统架构
    DNS Server &Bind的配置与使用
    IoC 容器和Dependency Injection 模式
    Inversion of Control Containers and the Dependency Injection pattern
    Windows 2003网络负载均衡的实现
    UVA 10369 Arctic Network
    UVA 10397 Connect the Campus
  • 原文地址:https://www.cnblogs.com/GraceZ/p/7941141.html
Copyright © 2011-2022 走看看