0

while true ループを使用して無限ループを生成しています。そして、コードには、時間に依存するセクションがあります。コードは次のとおりです。

while True:
    if currentminute == '53':
        # do this
    else:
        # do that

currentminute == '53' が true の場合、'do this' コードのループを 1 回だけ実行するにはどうすればよいですか? そして、残りの時間に他のすべてのコードの大部分を表す「do that」コードを実行し、次の 1 時間に「do this」コードに戻ります。

4

1 に答える 1

1
from datetime import datetime
import time
while True:
    if datetime.datetime.now().minute == 53:
        # do this
        if datetime.datetime.now().minute == 53:  # if still 53 then sleep for rest of the seconds
            time.sleep(60-datetime.datetime.now().second)
    else:
        # do that

あなたの質問から、53分に1回だけ実行する#do this必要があると思います。また、53 分にオーバーラップする可能性があるため、その部分が実行を長時間保持しないようにする必要があります。#do that

于 2013-01-01T05:33:49.927 に答える