5秒ごとに関数を実行します。 このコードは機能します:Pythonは、前の試行からの情報を使って5秒ごとに関数を実行します。
import threading
def notify():
threading.Timer(5.0, notify).start()
notify()
以前の実行のパラメータが必要な場合はどうなりますか? 私はこれを試してみました:
import threading
def notify(since):
threading.Timer(5.0, notify(since)).start()
# initial_id is just an integer, eg 423455677
notify(initial_id)
私はエラーを取得:
Traceback (most recent call last):
File "/Users/paulyu/anaconda/lib/python3.4/threading.py", line 911, in _bootstrap_inner
self.run()
File "/Users/paulyu/anaconda/lib/python3.4/threading.py", line 1177, in run
self.function(*self.args, **self.kwargs)
TypeError: notify() missing 1 required positional argument: 'since'
ハウそれを修正しますか? あなたのアドバイスは大歓迎です。 ありがとう ポール
入力とエラーの間には相関がありません。それ以来のことは何ですか? –
これは通知機能のための番号です。最初の実行では、notify()にパラメータとして数値を代入します。この数値は他の関数によって取得されます。 –
2番目の例では、* since *パラメータを指定しないでnotifyを呼び出したことを示していますが、実際には何を達成しようとしていますか? –