我想匹配给定文本文件中的时间变量,并希望从那里读取文件。任何想法我在这里做错了吗?(我也是python的新手)
time = '05:48:19'
print (time)
with open( "PSC-CIPDiameter_8.1_A_1.stat.0" ) as f:
line = f.readline()
count=1
while line:
print ("Line %s : %s" % (count,line.strip()))
line=f.readline()
timenow = datetime.datetime.strptime(line, '%H:%M:%S')
if(time == timenow):
print "Read line: %s" % (line)
count=count+1
答案 0 :(得分:0)
首先,我们可以使此代码更具pythonic的功能。如您所说,您是python的新手,语言环境中可能包含一些您不知道的电池;)
time = '05:48:19'
print(time)
with open("PSC-CIPDiameter_8.1_A_1.stat.0") as f:
for count, line in enumerate(f):
print("Line {} : {}".format(count, line.strip()))
timenow = datetime.datetime.strptime(line, '%H:%M:%S')
if(time == timenow):
print("Read line: {}".format(line))
因此,您永远不会进行True
相等性测试,因为您正在针对 datetime对象 time
测试 string timenow
您使用datetime.datetime.strptime
实例化。如果要比较两者,则可能应通过实例化time
使其成为日期时间对象:
time = datetime.datetime.strptime('05:48:19', '%H:%M:%S')