私はすべてのn
秒(APIによってサーバーから取得)の更新されたタイムスタンプを印刷しようとしている非常に単純なPythonスクリプトを持っています。サーバーから取得したタイムスタンプを更新するにはどうすればよいですか?
import FinexAPI
import time
とサーバーのタイムスタンプを取得するための変数を設定する:
カスタムモジュール(FinexAPI)と時間モジュールをインポートした後
ticker = FinexAPI.ticker()
when = float(ticker['timestamp'])
を私が実行している場合:
print when
私はタイムスタンプを最新にしています。私がもう一度それを実行すると、私は新しい更新されたタイムスタンプを見ることができます。今までは問題は全くありません。
今度は、私は5秒ごとに「更新されたタイムスタンプの印刷」を実行する必要があるとしましょう:
def getNewTimestamp():
print when
time.sleep(5)
while True:
getNewTimestamp()
しかし、このコードで私は、同じタイムスタンプを5秒ごとに取得しています。問題は、私がgetNewTimestamp
関数の外にwhen
を定義していることです。そのため、基本的に同じ非更新タイムスタンプを印刷し続けます。しかし、関数内で定義しても、タイムスタンプの更新はまだありません。
私が考えている別のことは、whileループはこのシナリオでは最良の選択ではないが、それは別の話(私は思う...)だろうということです。誰かが何が間違っているのか、5秒ごとに更新されたタイムスタンプを取得して印刷するための最良の方法は何かを把握するのに役立つことができますか?
あなたは王です! それはとても簡単でした。 ありがとうございます。 私はあなたに+1をくれました – mosf