Как поставить отметку времени одновременным вызовам функций в Python?

У меня есть функция чтения в модуле.

Если я выполняю эту функцию одновременно, мне нужно поставить отметку времени.

Как мне это сделать?

дайте пожалуйста более подробную информацию. где должна быть записана метка времени? Вы читаете из файла? Вы говорите, что отметка времени должна быть одновременной с функцией чтения, или что вам нужно поставить отметку времени, если происходит одновременное чтение?

John Mulder 09.01.2009 08:33

что вы подразумеваете под отметкой времени функции?

hasen 09.01.2009 09:22

что вы имеете в виду под одновременным?

Jim Carroll 09.01.2009 09:42

«Одновременный» ничего не значит. Даже если есть несколько потоков, только один из них фактически запланирован в данный момент времени. Если она выполняется в нескольких процессах, это не «одна и та же» функция, это две копии, по одной в каждом процессе.

S.Lott 09.01.2009 14:44
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
4
1 449
4

Ответы 4

#!/usr/bin/env python

import datetime

def timestampit(func):
    def decorate(*args, **kwargs):
        print datetime.datetime.now()
        return func(*args, **kwargs)
    return decorate

@timestampit
def hello():
    print 'hello'

hello()

# Output:
# $ python test.py 
# 2009-01-09 11:50:48.704584
# hello

Я новичок в Python, не обращайте внимания на мой вопрос. Не могли бы вы объяснить, что происходит, Swaroop ???

user46646 09.01.2009 09:27

@rejinacm, мы используем декораторы, можно прочтите об этом во введении.

Swaroop C H 09.01.2009 09:29

Предлагаю несколько иной подход:

import time

def timestampit(func):
    def decorate(*args, **kwargs):
        decorate.timestamp = time.time()
        return func(*args, **kwargs)
    return decorate

@timestampit
def hello():
    print 'hello'


hello()
print hello.timestamp

time.sleep(1)

hello()
print hello.timestamp

Отличия от примера Swaroop:

  1. Я использую time.time (), а не datetime.now () для отметки времени, потому что он больше подходит для тестирования производительности.
  2. Я прикрепляю метку времени как атрибут украшенной функции. Таким образом, вы можете вызывать и сохранять его, когда захотите.

Он спрашивает об одновременных вызовах функции. При таком подходе чуть более поздний вызов перезапишет временную метку предыдущего вызова.

unbeknown 09.01.2009 11:31

Да, но это намеренный пример с той же функцией. Он может украсить две разные функции. И честно говоря, что значит одновременный ??

Eli Bendersky 09.01.2009 17:38

Верно, я почти уверен, что он не говорил о потоках или других методах распараллеливания. Но в отсутствие другого объяснения того, что может означать «одновременность», я подумал, я бы упомянул об этом здесь.

unbeknown 09.01.2009 20:18

Некоторые примеры код Терика Зиаде

(более доработанную версию, в которой используется модуль timeit, можно найти в его недавней книге «Экспертное программирование на Python»)

Другие вопросы по теме