学习Python:将值存储在stdout的dict中

时间:2011-04-01 14:33:22

标签: python

如何在Python中执行以下操作: 我有一个命令输出输出:

Datexxxx
Clientxxx
Timexxx

Datexxxx
Client2xxx
Timexxx

Datexxxx
Client3xxx
Timexxx

我希望在像这样的词典中使用它:

Client:(date,time), Client2:(date,time) ...

3 个答案:

答案 0 :(得分:1)

如何使用带有元组的字典? 创建字典并添加条目:

dict = {}
dict['Client'] = ('date1','time1')
dict['Client2'] = ('date2','time2')

访问entires:

dict['Client']
>>> ('date1','time1')

答案 1 :(得分:1)

将数据读入字符串subject后,您可以执行以下操作:

import re
d = {}
for match in re.finditer(
    """(?mx)
       ^Date(.*)\r?\n
       Client\d*(.*)\r?\n
       Time(.*)""", 
    subject):
        d[match.group(2)] = (match.group(1), match.group(2))

答案 2 :(得分:1)

如下:

rows = {}
thisrow = []

for line in output.split('\n'):
        if line[:4].lower() == 'date':
                thisrow.append(line)
        elif line[:6].lower() == 'client':
                thisrow.append(line)
        elif line[:4].lower() == 'time':
                thisrow.append(line)
        elif line.strip() == '':
                rows[thisrow[1]] = (thisrow[0], thisrow[2])
                thisrow = []

print rows

假设一个尾随换行符,行之前没有空格等等。