1

これを行うためのより良い方法があると確信していますが、私はかなり初心者なので、それを理解できる唯一の方法でした。重要なのは、RSSフィードからの最新の投稿でテキストファイルを更新するスクリプトがあるということです(私はあなたたちからそれを理解するためにいくつかの助けを得ました)。しかし、このスクリプトを自動化したいので、次のようにしました。

import time
import os

seconds = 3600
kjor = 'python vg.py'

time.sleep(seconds)
os.system(kjor)

time.sleep(seconds)
os.system(kjor)

time.sleep(seconds)
os.system(kjor)

私はそれらの24倍を下向きにコピーし続けました。私はこれがおそらくいくつかのループでもっとうまくできることを知っています(while?)、しかし私はその分野でたくさんの知識を持っていないのではないかと心配しています(まだ)。

ただし、私の質問は次のとおりです。これを長期間実行すると、システムが何らかの形で損傷する可能性がありますか?

4

3 に答える 3

9

あなたの質問に答えるために、いいえ、これは何も傷つけません。time.sleepsがスリープしている間、プログラムはほとんど処理能力を必要とせず、システムの残りの部分は正常に実行できます。

さて、あなたのループの問題について。コードを永久に(またはプログラムを停止するまで)実行したい場合、必要なコードは次のとおりです。

 while True:
    os.system(kjor)
    time.sleep(seconds)

これは文字通り無限ループですが、この場合は(おそらく)あなたが望むものです。

あなたが特定の反復回数を持つことに執着しているなら、あなたはsunqiangの答えのようなことをすることができます(ここで繰り返されます)

for loop in xrange(240):
    os.system(kjor)
    time.sleep(seconds)

最後に、Unixプラットフォーム(LinuxやMacなど)を使用している場合は、cronを確認する必要があります。これは、実行する定期的なプログラムと特定の期間を設定するように設計されているためです。スクリプトを毎分実行するように設定することができ、時間の終わりまで(または、スクリプトを削除するか、どちらか早い方)、喜んで実行します。

于 2009-07-23T02:04:56.453 に答える
1

xrangeを使用してください。コードを24回コピーしないでください。

for loop in xrange(240):
    time.sleep(seconds)
    os.system(kjor)

私の知る限り、システムに損傷を与えることはありません。

于 2009-07-23T01:57:53.310 に答える
1

システムに損傷を与えることはなく、かなり一般的です。

ループを作成するだけで、しばらくするとアプリケーションの実行が穏やかに停止します。または、条件をチェックするようにします。おそらく、誰かが終了するように要求するのを待っているtcpポートをリッスンします(次に、この終了メッセージを送信するための2番目のアプリケーションを作成する必要があります)。

于 2009-07-23T02:34:25.643 に答える