Отметка времени 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
Другие вопросы по тегам