0

質問は非常に簡単です。以下のコードを確認してください。

import time, datetime
timer = datetime.datetime.now().strftime('%H:%M:%S')
print timer + " This is a test"
time.sleep(5) # 5 seconds until next statement
print timer + " Test after 5 seconds, so the timer should've changed"

コード実行後の結果:

13:22:07 This is a test
13:22:07 Test after 5 seconds, so the timer should've changed

結果からわかるように、タイマーは同じようにスリープしています。ここで分について話しているのであれば、それを受け入れたでしょうが、コードの結果では秒数は変わりませんでした。

一度に 1 つのステートメントを実行した後に動的に変化するタイマーを使用するにはどうすればよいでしょうか?

4

3 に答える 3

1

変数に割り当てるdatetime.datetime.now().strftime('%H:%M:%S')と、timer現在の時刻がtimer変数に割り当てられます。

したがって、5秒後timer、現在の時間で変数を再割り当てするだけです[5秒後]
これを試してください

import time, datetime
timer = datetime.datetime.now().strftime('%H:%M:%S')
print timer + " This is a test"
time.sleep(5) # 5 seconds until next statement
timer = datetime.datetime.now().strftime('%H:%M:%S')
print timer + " Test after 5 seconds, so the timer should've changed"
于 2013-10-01T10:27:01.530 に答える
0

timer再度使用しないでください。代わりにdatetime.datetime.now().strftime('%H:%M:%S')もう一度使用してください。これにより、時間とともに新しい文字列が生成されます。文字列を に割り当ててもtimer、自動的には変更されません。

以下が機能するはずです。

import time, datetime
print datetime.datetime.now().strftime('%H:%M:%S') + " This is a test"
time.sleep(5) # 5 seconds until next statement
print datetime.datetime.now().strftime('%H:%M:%S') + " Test after 5 seconds, so the timer should've changed"
于 2013-10-01T10:27:12.960 に答える
0

あなたのコードでtimerは、コードを実行した現在の時刻の値を含む文字列に他なりません。間に 5 秒間のスリープを入れて、2 回印刷するだけです。しかし、それはその価値を変えません。

datetime.datetime.now().strftime('%H:%M:%S')時間を更新するたびに、次の行を再実行する必要があります。

于 2013-10-01T10:27:42.270 に答える