time.strftime() 不会在代码开头输出时间



我使用以下行来打印代码开头的时间。

print (time.strftime("%H:%M:%S"))

我也在长"for"循环中使用相同的命令,以便我可以预测我的代码运行需要多长时间。(我正在做很多时间步长的热流建模。

在 'for' 循环中的第一个 print time.strftime(( 命令打印之前,开始时的时间不会打印。两者都是正确的时间。

如何让它在代码启动时打印,而不是在下一个打印命令似乎将其清除时打印?

您要做的是清除打印缓冲区,在Python 2中如下所示:

import sys
print(time.strftime("%H:%M:%S"))
sys.stdout.flush()

在 Python 3 中,它甚至更容易:

print(time.strftime("%H:%M:%S"), flush=True)

每当我打印time.strftime("%H:%M:%S"(我正在使用python 3.5时,我的for循环中都会得到不同的时间

import time
print ('Started at :' + time.strftime("%H:%M:%S"))
for x in range(5):
print (x)
time.sleep(1)
print ('Current time is:' + time.strftime("%H:%M:%S"))
print ('Script Ended at :' + time.strftime("%H:%M:%S"))

最新更新