• 9.python-ini文件使用(读和写)


    注意事项:
    1.读文件:
    read(filename):读取ini文件中的内容
    sections():得到所有section,返回列表形式
    options(section):得到给定section的所有option
    items(section):得到指定section的所有key-value
    get(section,option):得到section中的option值,返回str类型
    get(section,option):得到section中的option值,返回int类型
    2.写文件:
    add_section(sectionname):添加一个名为sectionname的新section
    set(sectionname,option,value):设置sectionname的option和value的值
        注意:最后要使用write把内容写入ini文件:write(open(filenama,'wb'))
    直接贴出代码来:
    1. #coding=utf-8
    2. '''
    3. Created on 2015.10.30
    4. ini配置文件读写的使用
    5. '''
    6. import ConfigParser
    7. iniFileUrl="conf.ini"
    8. conf=ConfigParser.ConfigParser() #生成conf对象
    9. conf.read(iniFileUrl) #读取ini配置文件
    10. def readConfigFile():
    11. """
    12. sections:配置文件中[]中的值
    13. options:每组中的键
    14. items:键-值的列表形式
    15. """
    16. # 获取每组类型中的section值
    17. sections = conf.sections() # 获取所有sections
    18. print "---conf.ini文件中的section内容有:", sections
    19. # 获取每行数据的键即指定section的所有option
    20. print "---group_a的所有键为:", conf.options("group_a")
    21. print "---group_b的所有键为:", conf.options("group_b")
    22. # 获取指定section的所有键值对
    23. print "---group_a的所有键-值为:", conf.items("group_a")
    24. # 指定section,option读取具体值
    25. print "---group_a组的a_key1值为:", conf.get("group_a", "a_key1")
    26. print "---group_b组的b_key1值为(取整数类型):", conf.getint("group_b", "b_key1")
    27. def writeConfigFile():
    28. """
    29. 根据分组名、键名修改为新键值
    30. @param sections: section分组名
    31. @param key: 分组中的key
    32. @param newvalue: 需要修改后的键值
    33. """
    34. conf.set("group_b", "b_key3", "new3") #指定section和option则更新value
    35. conf.set("group_b", "b_key5", "value5") #指定section,则增加option和value
    36. conf.add_section("group_d") #添加section组
    37. conf.set("group_d", "d_key1", "value1") #给添加的section组增加option-value
    38. #写回配置文件
    39. conf.write(open(iniFileUrl, "wb"))
    40. readConfigFile()
    41. writeConfigFile()
    42. '''
    43. 运行结果:
    44. ---conf.ini文件中的section内容有: ['group_a', 'group_b', 'group_c']
    45. ---group_a的所有键为: ['a_key1', 'a_key2']
    46. ---group_b的所有键为: ['b_key1', 'b_key2', 'b_key3', 'b_key4', 'b_key5']
    47. ---group_a的所有键-值为: [('a_key1', '20'), ('a_key2', '10')]
    48. ---group_a组的a_key1值为: 20
    49. ---group_b组的b_key1值为(取整数类型): 121
    50. '''
    附赠conf.ini文件:
    [group_a]
    a_key1 = 20
    a_key2 = 10

    [group_b]
    b_key1 = 121
    b_key2 = b_value2
    b_key3 = new3
    b_key4 = 127.0.0.1
    b_key5 = value5

    [group_c]
    c_key1 = value1  

    [group_d]
    d_key1 = value1





  • 相关阅读:
    Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现
    Apache ActiveMQ序列化漏洞(CVE-2015-5254)复现
    Jenkins Java 反序列化远程执行代码漏洞(CVE-2017-1000353)
    jenkins未授权访问漏洞
    jenkins弱口令漏洞
    jboss 未授权访问漏洞复现
    jboss反序列化漏洞复现(CVE-2017-7504)
    C++中的强制类型转换
    new/delete与命名空间
    函数默认参数与占位参数
  • 原文地址:https://www.cnblogs.com/georgelei/p/a30f7a8d7b2556aeae76d70d412d5004.html
Copyright © 2020-2023  润新知