zoukankan      html  css  js  c++  java
  • Day 4-7 -configparser模块

    此模块用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser。

    常用方法:

     1 import configparser
     2 conf = configparser.ConfigParser()  # 先生成一个对象.
     3 conf.read("conf.ini")               # 读取配置文件
     4 print(conf.sections())              # 输出配置文件里的配置项,注意,获取不到default.因为每个配置文件里都有一个default.所以这里给省略略
     5 list = list(conf["bitbucket.org"].keys())  #其实conf["bitbucket.org"] 就是一个字典.可以取里面的值.可是为什么还有default里的值?
     6 
     7 print(list)
     8 ['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
     9 
    10 print(conf["bitbucket.org"]["user"])        # 获取"user"key的value
    11 a = conf["bitbucket.org"]["user"]
    12 print(a)   # hg
    13 conf["bitbucket.org"]["user"] = "jack"          # 修改user的值
    14 b = conf["bitbucket.org"].get("user")
    15 print(b)    #jack
    16 
    17 # 我们获取一下conf["bitbucket.org"]的key
    18 for k in conf["bitbucket.org"]:
    19     print(k)
    20 
    21 '''user
    22 serveraliveinterval
    23 compression
    24 compressionlevel
    25 forwardx11 '''   # 输出了好多key,但是conf["bitucket.org]里只有一个key啊.default的作用就是默认每个节点里都会有default的配置.
    26 
    27 if "ssss" in conf["bitbucket.org"]:    # 判断一个子项是否在conf["bitbucket.org"]里面
    28     print("in")
    29 
    30 else:
    31     print("not in")
    32 
    33 print(conf.options("group1"))  # 获取group1下面的key,也就是子项的名字
    34 
    35 # 添加新项
    36 conf.add_section("group3")
    37 conf["group3"]["user"] = "Nick"
    38 conf["group3"]["age"] = "22"      # 注意,写入数字的时候必须用引号引起来,不然会认为是一个int类型,无法写入.
    39 conf.write(open("conf_test.ini", "w"))
    40 
    41 #删除
    42 conf.remove_option("group1","k1")   # 删除子项下的值
    43 conf.write(open("1111.ini", "w"))
    44 
    45 
    46 conf.remove_section("group1")       # 删除一个子项
    47 conf.write(open("2222.ini", "w"))

    作业:

    [DEFAULT]
    
    [client]
    port = 3306
    socket = /data/mysql_3306/mysql.sock
    
    [mysqld]
    explicit_defaults_for_timestamp = true
    port = 3306
    socket = /data/mysql_3306/mysql.sock
    back_log = 80
    basedir = /usr/local/mysql
    tmpdir = /tmp
    datadir = /data/mysql_3306
    default-time-zone = '+8:00'
    
    """
    1.修改时区 default-time-zone = '+8:00' 为 校准的全球时间 +00:00
    2.删除 explicit_defaults_for_timestamp = true
    3.为DEFAULT增加一条 character-set-server = utf8 """
    1 import configparser
    2 conf = configparser.ConfigParser()  #生成一个conf对象
    3 conf.read("conf.ini")                      # 读取conf.ini的内容
    4 conf.remove_option("mysqld", "explicit_defaults_for_timestamp")  # 删除
    5 #修改 
    6 conf["mysqld]["default-time-zone"] = "+00:00"
    7     
    8 # 增加
    9 conf["DEFAULT"]["character-set-server"] = "utf8"
    作业答案

    补充:

    for k,v in (conf["mysqld"].items()):    # 取所有的k,v
        print(k,":", v)
    
    """输出:
    port : 3306
    socket : /data/mysql_3306/mysql.sock
    back_log : 80
    basedir : /usr/local/mysql
    tmpdir : /tmp
    datadir : /data/mysql_3306
    default-time-zone : +00:00
    character-set-server : utf8
    
    
    
    """
  • 相关阅读:
    google 以图搜图
    一个idear
    负责
    腾讯笔试
    迅雷笔试题
    如何删除表中重复的字段
    sed的使用
    C++ Html解析器HtmlCxx用户手册和源代码解析
    makefile从无到有
    深入理解函数指针
  • 原文地址:https://www.cnblogs.com/lovepy3/p/8779026.html
Copyright © 2011-2022 走看看