每 5 秒执行一次我的程序时,我的time.ctime()
程序没有变化。
我该如何修复它?
我的程序:
import random
import time
n = 1
future = time.time() + 600
for x in range(5): # program execute 5 times
print(n)
print time.ctime(future)
sensor1 = {'ID': 'A', 'float1': ['A' + str(i) for i in range(1, 17)]}
print(sensor1)
count = 16 # represents 16 float readings
for i in range(0, count):
r = random.random() # generates random real number between 0 and 1
print(r)
sensor2 = {'ID': 'B', 'float1': ['B' + str(i) for i in range(1, 17)]}
print(sensor2)
count = 16 # represents 16 float readings
for i in range(0, count):
r = random.random() # generates random real number between 0 and 1
print(r)
time.sleep(5) # to wait a second
n = n + 1
答案1
你的问题是你设置了一个固定值未来,并且您一遍又一遍地使用相同的固定值。
您可以使用以下方式打印当前时间:
print time.ctime()
您可以使用以下方式打印当前时间 + 600:
print time.ctime(time.time() + 600)
python 时间手册指定:
time.ctime([secs])
将以秒为单位表示的自纪元以来的时间转换为表示本地时间的字符串。如果未提供秒数或为 None,则
time()
使用 返回的当前时间。ctime(secs)
相当于asctime(localtime(secs))
。不使用区域设置信息ctime()
。
示例代码(例如保存为time_prints.py
):
import time
for x in range(5): # program execute 5 times
print time.ctime()
time.sleep(5)
示例输出:
$ python time_prints.py
Thu Feb 8 14:37:41 2018
Thu Feb 8 14:37:46 2018
Thu Feb 8 14:37:51 2018
Thu Feb 8 14:37:56 2018
Thu Feb 8 14:38:01 2018