Python:如何拆分包含额外delimeters作为值的字符串
我正在使用python并读取“attribute.txt”文件 attribute.txt文件内容为“Key:value”格式,如下图: 例如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) 上面的代码工作
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'}