Python3 configparser值为多行时配置文件书写格式

一、说明

一般而言ini配置文件键值对都是一行就完事了,但有时候我们想配置的值就是由多行组成,这里说明此时配置格式该如何书写。

二、书写格式

如果值为多行,那么在第一行外的后续所有行前加入至少一个空格即可。

比如当前配置文件(url_header_data.ini)如下(doLogin和heartBeat第二行后的各行前都有至少一个空格):

[SERVER]
ServerIP = 192.168.220.128
ServerPort = 80

[PROTOCOL]
doLogin = <?xml version="1.0" encoding="utf-8" ?>
 <request version="1.0" systemType="NVMS-9000" clientType="WEB/MOBILE/SYS">
  <content>
    <userName>admin</userName>
    <password><![CDATA[MTIzNDU2]]></password>
  </content>
 </request>

heartBeat = '<?xml version="1.0" encoding="utf-8" ?>
 <request version="1.0" systemType="NVMS-9000" clientType="WEB/MOBILE/SYS">
 </request>'

程序代码(cmdline_send_tool.py)如下:

import configparser

class Cmdline_Send_Tool():
    def __init__(self):
        pass

    def test_protocol(self):
        config = configparser.ConfigParser()
        config.read('url_header_data.ini',encoding="utf-8-sig")

        print(config['PROTOCOL']['doLogin'])


if __name__ == '__main__':
    cmdline_send_tool = Cmdline_Send_Tool()
    cmdline_send_tool.test_protocol()

执行结果如下:

可以看到程序可成功读取值为多行的“doLogin”项

 参考:

https://blog.csdn.net/rainharder/article/details/6556996

https://blog.csdn.net/liujingqiu/article/details/77677256

原文地址:https://www.cnblogs.com/lsdb/p/9133248.html