Отметка времени Python не обновляется
Мой time.ctime()
не меняется при выполнении моей программы каждые 5 секунд.
Как я могу это исправить?
Моя программа:
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)
руководство по питону указываете:
time.ctime([secs])
Преобразуйте время, выраженное в секундах с начала эпохи, в строку, представляющую местное время. Если значение secs не указано или отсутствует, текущее время возвращается
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