Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何拆分包含额外delimeters作为值的字符串_Python_Dictionary - Fatal编程技术网

Python:如何拆分包含额外delimeters作为值的字符串

Python:如何拆分包含额外delimeters作为值的字符串,python,dictionary,Python,Dictionary,我正在使用python并读取“attribute.txt”文件 attribute.txt文件内容为“Key:value”格式,如下图: 例如 data: Test data version: 3.1 system: windows 我逐行读取和拆分内容的Python代码如下所示 with open(self.attrib_file) as f: self.txtdict = dict(l.strip().split(':') for l in f) 上面的代码工作

我正在使用python并读取“attribute.txt”文件

attribute.txt文件内容为“Key:value”格式,如下图:

例如

data: Test data
version: 3.1
system: windows
我逐行读取和拆分内容的Python代码如下所示

 with open(self.attrib_file) as f:
            self.txtdict = dict(l.strip().split(':') for l in f)
上面的代码工作正常,但对于在其值部分包含冒号“:”字符的数据失败

例如

data: Test data
version: 3.1
system: windows: unix   <-- This line will fail as it have two colons. 
数据:测试数据
版本:3.1

系统:windows:unix如果键没有分号:

print(dict(l.strip().split(':', 1) for l in f))
输出

{'data': ' Test data', 'version': ' 3.1', 'system': ' windows: unix'}