如何使用pythoncod将字符串转换为嵌套字典

2024-06-16 14:13:47 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用Python代码将字符串DS转换为嵌套字典DD

ds = '''TTTT.0.OOOO.UUUU.OOOO.PPPP.DDDD.1-1
date = 2012
time = 12
size = 558
maths = mediaTTTT.1.OOOO.UUUU.OOOO.PPPP.DDDD.1-1
date = 2012
time = 12
size = 558
maths = mediaTTTT.2.OOOO.UUUU.OOOO.PPPP.DDDD.1-1
date = 2012
time = 12
size = 1024
maths = mediaTTTT.3.OOOO.UUUU.OOOO.PPPP.DDDD.1-1
date = 2012
time = 12
size = 1024
maths = mediaTTTT.4.OOOO.UUUU.OOOO.PPPP.DDDD.1-1
date = 2012
time = 12
size = 1024
maths = media'''dd = {'TTTT.0.OOOO.UUUU.OOOO.PPPP.DDDD.1-1': {'date': '2012', 'time': '12', 'size': '558', 'maths': 'media'},
  'TTTT.1.OOOO.UUUU.OOOO.PPPP.DDDD.1-1': {'date': '2012', 'time': '12', 'size': '558', 'maths': 'media'},
  'TTTT.2.OOOO.UUUU.OOOO.PPPP.DDDD.1-1': {'date': '2012', 'time': '12', 'size': '1024', 'maths': 'media'},
  'TTTT.3.OOOO.UUUU.OOOO.PPPP.DDDD.1-1': {'date': '2012', 'time': '12', 'size': '1024', 'maths': 'media'},
  'TTTT.4.OOOO.UUUU.OOOO.PPPP.DDDD.1-1': {'date': '2012', 'time': '12', 'size': '1024', 'maths': 'media'}
  }

我使用racadm(dell cmd bios)获取返回值,结果是DS。很多方法没有被翻译成嵌套字典,所以我在这里寻求帮助


Tags: 字符串代码sizedate字典timedsmedia
1条回答
网友
1楼 · 发布于 2024-06-16 14:13:47

试试这个:

    >>> ds = '''TTTT.0.OOOO.UUUU.OOOO.PPPP.DDDD.1-1
... date = 2012
... time = 12
... size = 558
... maths = mediaTTTT.1.OOOO.UUUU.OOOO.PPPP.DDDD.1-1
... date = 2012
... time = 12
... size = 558
... maths = mediaTTTT.2.OOOO.UUUU.OOOO.PPPP.DDDD.1-1
... date = 2012
... time = 12
... size = 1024
... maths = mediaTTTT.3.OOOO.UUUU.OOOO.PPPP.DDDD.1-1
... date = 2012
... time = 12
... size = 1024
... maths = mediaTTTT.4.OOOO.UUUU.OOOO.PPPP.DDDD.1-1
... date = 2012
... time = 12
... size = 1024
... maths = media'''

>>> {'TTTT'+rec[0]: dict(t.split(' = ') for t in rec[1:]) for rec in  [item.split('\n') for item in ds.split('TTTT') if item != '']}
{'TTTT.3.OOOO.UUUU.OOOO.PPPP.DDDD.1-1': {'size': '1024', 'maths': 'media', 'time': '12', 'date': '2012'}, 'TTTT.1.OOOO.UUUU.OOOO.PPPP.DDDD.1-1': {'size': '558', 'maths': 'media', 'time': '12', 'date': '2012'}, 'TTTT.0.OOOO.UUUU.OOOO.PPPP.DDDD.1-1': {'size': '558', 'maths': 'media', 'time': '12', 'date': '2012'}, 'TTTT.4.OOOO.UUUU.OOOO.PPPP.DDDD.1-1': {'size': '1024', 'maths': 'media', 'time': '12', 'date': '2012'}, 'TTTT.2.OOOO.UUUU.OOOO.PPPP.DDDD.1-1': {'size': '1024', 'maths': 'media', 'time': '12', 'date': '2012'}}

没有列表理解以提高可读性:

^{pr2}$

相关问题 更多 >