Я пытаюсь использовать strftime () с точностью до микросекунд, что кажется возможным с использованием% f (как указано здесь ). Однако, когда я пробую следующий код:
import time
import strftime from time
print strftime("%H:%M:%S.%f")
... Я получаю час, минуты и секунды, но% f печатается как% f, без каких-либо признаков микросекунд. Я использую Python 2.6.5 на Ubuntu, так что все должно быть в порядке, и% f должен поддерживаться (насколько я знаю, он поддерживается для версии 2.6 и выше).
%z
datetime
поддерживает%z
директиву, пока время не работает .%z
Python 3 :-) здесь datetime, а затем timefrom datetime import datetime
. Если вы просто сделаете это,import datetime
вам придется использоватьdatetime.datetime.now().strftime("%H:%M:%S.%f")
Вы просматриваете не ту документацию. У
time
модуля есть другая документация .Вы можете использовать
datetime
модульstrftime
так:источник
С
time
модулем Python вы не можете получить микросекунды%f
.Для тех, кто все еще хочет использовать
time
только модуль, есть обходной путь:Вы должны получить что-то вроде 2017-01-16 16: 42: 34.625 EET (да, я использую миллисекунды, так как этого достаточно).
Чтобы разбить код на детали, вставьте приведенный ниже код в консоль Python:
В целях пояснения я также вставляю свой результат Python 2.7.12 сюда:
источник
Это должно сделать работу
Он напечатает
HH:MM:SS.microseconds
как это например14:38:19.425961
источник
Вы также можете получить точность в микросекундах от
time
модуля, используя егоtime()
функцию.(
time.time()
возвращает время в секундах с начала эпохи. Его дробная часть - это время в микросекундах, это то, что вы хотите.)источник
Если "% f" для микросекунд не работает, используйте следующий метод:
источник
Если вам нужна скорость, попробуйте следующее:
Где
prec
точность - сколько десятичных знаков вы хотите. Обратите внимание, что у функции нет проблем с начальными нулями в дробной части, как в некоторых других решениях, представленных здесь.источник
Если вам нужно целое число, попробуйте этот код:
Вывод:
источник