configparser读取ini配置文件&&xml的读写

configparser读取ini配置文件&&xml的读写

一, 读取ini配置文件

  • 1, ini配置文件

    [DATABASE]
    username=admin
    password=admin123
    ip=localhost
    port=3306
    
    [USER]
    username=root
    password=123
    
  • 2,读取代码

    import configparser
    
    cp = configparser.ConfigParser()
    # 读取配置文件
    cp.read("config.ini", encoding="utf-8")
    # 循环方式获取
    for ini in cp['DATABASE']:
        print(ini, ":", cp['DATABASE'][ini])
    # 以字典键值对的方式进行获取
    username = cp['USER']['username']
    password = cp.get('USER','password')
    print(username, password)
    
  • 3,结果

    username : admin
    password : admin123
    ip : localhost
    port : 3306
    root 123
    

二,读写xml文件

  • 写xml文件

  • 1,基础知识

    创建节点:root = ET.Element('Root')
    创建文档:tree = ET.ElementTree(root)
    设置文本值:element.text = 'default'
    设置属性:element.set('age', str(i))
    添加节点:root.append(element)
    写入文档:tree.write('default.xml', encoding='utf-8', xml_declaration=True)
    
  • 2,实例

    import xml.etree.ElementTree as ET
    import datetime
    # 创建根节点
    new = ET.Element('new')
    # 添加子节点
    ET.SubElement(new, 'id').text="hello"
    ET.SubElement(new, 'name').text="name"
    ET.SubElement(new, 'body').text="白雪公主"
    ET.SubElement(new, 'time').text=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    # 创建文档
    tree = ET.ElementTree(new)
    tree.write(file_or_filename="xml_file/1.xml", encoding="utf-8", xml_declaration=True)
    
    
  • 3, 生成文件:1.xml

    <?xml version='1.0' encoding='utf-8'?>
    <new>
        <id>hello</id>
        <name>name</name>
        <body>白雪公主</body>
        <time>2020-03-03 11:04:07</time>
    </new>
    
  • 读取xml文件

  • 1,基础知识

    读取文档:tree = ET.parse('default.xml')
    获得根节点:root = tree.getroot()
    获得所有子节点:list(root)
    查找子节点,注意这里不会递归查找所有子节点:root.findall('Name')
    查找子节点,递归查找所有子节点:root.iter('Name')
    查看节点名称:root.tag
    
  • 2,实例

    import xml.etree.ElementTree as ET
    
    tree = ET.parse("xml_file/1.xml")
    root = tree.getroot()
    # 列出所有子节点
    for i in list(root):
        print(i.text)
    print("--" * 50)
    # 递归查询,可以获取根节点下的所有子孙节点
    for i in iter(root):
        print(i.text)
    
  • 3,输出

hello
name
白雪公主
2020-03-03 11:04:07
----------------------------------------------------------------------------------------------------
hello
name
白雪公主
2020-03-03 11:04:07

三,参考链接

https://blog.csdn.net/hu694028833/article/details/81089959
原文地址:https://www.cnblogs.com/jlxa162hhf/p/14161229.html