检查行是否是Python中的时间戳

时间:2013-05-13 17:35:04

标签: python time timestamp

我的脚本在我的服务器上每30分钟运行一次,完成后会将时间戳写入文件的最后一行。它在一个目录中对大约20多个文件执行此操作。我正在尝试编写一个Python脚本来检查每个文件的最后一行,并为每个文件返回“正在进行”或“完成时间:”消息,具体取决于是否存在该时间戳。

如何让Python确定字符串是否是时间戳?格式为HH:MM:SS,没有月份/日期指示。

1 个答案:

答案 0 :(得分:8)

您可以尝试匹配正则表达式:

import re
if re.match('\d{2}:\d{2}:\d{2}', line):
如果该行以3个2位数对开头,其间有冒号,则

将起作用;取决于您在line中可能找到的 else ,这很容易就足够了。

另一种选择是尝试解析它:

import time

try:
    time.strptime(line[:8], '%H:%M:%S')
except ValueError:
    print('Not a timestamp')
else:
    print('Found a timestamp')

这更加严格;每当一行没有以实际上代表有效时间值的时间戳开始时抛出ValueError,因此小时必须在0-23范围内,0-59范围内的分钟和范围内的秒数0-60。