モジュールに読み取り機能があります。
その機能を同時に実行する場合は、タイムスタンプを付ける必要があります。
どうすればよいですか?
モジュールに読み取り機能があります。
その機能を同時に実行する場合は、タイムスタンプを付ける必要があります。
どうすればよいですか?
少し異なるアプローチを提供します。
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 の例との違いは次のとおりです。
#!/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
( timeit モジュールを使用するより洗練されたバージョンは、彼の最近の著書 Expert Python Programming にあります)
興味がある場合は、python wiki にデコレータに関する豊富な情報があります。