我正在尝试创建一个timestamp变量,该变量实际存储当前时间并输出该实例的时间。还包括可重现的代码:
import time
from datetime import datetime
t = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
for i in range(5):
time.sleep(2)
print t
输出
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
所需的输出
2015-03-11 11:28:53
2015-03-11 11:28:55
2015-03-11 11:28:57
2015-03-11 11:28:59
2015-03-11 11:29:01
执行此操作的任何简单方法,而不是放置命令
datetime.now().strftime('%Y-%m-%d %H:%M:%S')
在代码中多次。
答案 0 :(得分:2)
如果您需要在不同时刻捕获当前时间,则无法避免必须致电datetime.now()
。
如果您认为重复过于冗长,请将调用置于函数中:
def current_time():
return datetime.now().strftime('%Y-%m-%d %H:%M:%S')
然后打电话给:
for i in range(5):
time.sleep(2)
print current_time()
答案 1 :(得分:0)
将t=...
行移至for
循环和/或将其压缩到print
语句中和/或将其包装到单独的函数中,然后在{{1}中调用它}循环。
如果您要在代码中的其他位置使用它,后者将成为最佳实践方式。这意味着您只需在代码中的单个位置更改格式或时间调用。