我怎会将在Python如下: 我有一个命令的输出,其输出这样的:Python入门:在字典存储值在标准输出
Datexxxx
Clientxxx
Timexxx
Datexxxx
Client2xxx
Timexxx
Datexxxx
Client3xxx
Timexxx
而且我要来解决这个在字典一样:
Client:(date,time), Client2:(date,time) ...
我怎会将在Python如下: 我有一个命令的输出,其输出这样的:Python入门:在字典存储值在标准输出
Datexxxx
Clientxxx
Timexxx
Datexxxx
Client2xxx
Timexxx
Datexxxx
Client3xxx
Timexxx
而且我要来解决这个在字典一样:
Client:(date,time), Client2:(date,time) ...
将数据读入一个字符串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))
谢谢,我认为这是我现在需要的! – 2011-04-01 14:48:52
如何使用带元组的字典? 创建一个词典并添加条目:
dict = {}
dict['Client'] = ('date1','time1')
dict['Client2'] = ('date2','time2')
访问entires:
dict['Client']
>>> ('date1','time1')
好的,但我想用输出做到这一点!不是手动的 – 2011-04-01 14:40:10
好的。我误解了你的问题。 – tgmath 2011-04-01 14:50:28
没问题!无论如何谢谢 – 2011-04-01 14:51:19
怎么样例如:
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
假设一个尾随的换行符,行之前没有空格,等等。
感谢您的回答 – 2011-04-01 14:49:47
你到现在为止提出了什么?如果没有,请尝试从_stdin_读取某些内容并将其存储在一个变量中并将其打印到_stdout_。 – 2011-04-01 14:41:31
datetime.datetime可能是一种更好的格式来存储日期和时间,虽然strptime不会对'xxxx'做任何有用的操作。实际的格式是什么样的? – geoffspear 2011-04-01 14:41:47
请发布输出的代码。了解它目前的工作情况非常重要,以便我们可以根据需要对其进行修改。 – jhocking 2011-04-01 14:49:34