2017-06-30 14 views
0

私はいくつかのソースから天気データをオンラインで取得しようとしています。ここにこのデータを取得するためのコードがあります。スリープ機能を持つ複数の機能を実行するには?

import wunderground as wg 
import weatherScraper as wp 

def main(): 
    wg.main() 
    ws.main() 

if (__name__ == "__main__"): 
    main() 

両方の主な機能にスリープ機能が含まれています。私は同時に両方を実行することが可能かどうか疑問に思っていましたか?現在、それは1つを実行し、スリープ機能をアクティブにします。

+4

あなたは[スレッド](https://docs.python.org/2/library/threading.html)を探しています。 – Arount

+0

バックグラウンドで個別のスレッドで1つ(または両方)を実行する必要があります。これは準備が整っていなければ複雑な*ロット*を追加する可能性があることに注意してください。マルチスレッドで十分に読んでください。 – Carcigenicate

答えて

1

を参照してください。これを行うには多くの方法があります。各機能に対して1つのスクリプトを作成したくない場合は、multiprocessingモジュールを使用し、Processオブジェクトを使用することができます。もちろん、グローバル変数を使用しないで単純な例hereがあります。

import wunderground as wg 
import weatherScraper as wp 
from multiprocessing import Process 

if (__name__ == "__main__"): 
    p1 = Process(target = wg.main()) 
    p1.start() 
    p2 = Process(target = ws.main()) 
    p2.start() 

それとも、対称型マルチプロセッシング部にhereを記載されているもののような別の並列モジュールを使用することがあります。また、あなたは私はあなたのコードは次のようになると思いますモジュールのドキュメントhere

をチェックすることができます。

乾杯。

+0

私はスレッドを使用して終了し、マルチプロセスとスレッドの違いは何ですか? –

+1

@Professor_Joykillあなたは[この回答](https://stackoverflow.com/a/3044626/6749871)にチェックを入れることができます。 – RZRKAL

1

私はPython multiprocessingモジュールを使用します。

多分何かのように:

import wunderground as wg 
import weatherScraper as wp 
from multiprocessing import Process 

f1 = wg.main 
f2 = ws.main 

p1 = Process(target=f1) 
p2 = Process(target=f2) 
p1.start() 
p2.start() 

Python: Executing multiple functions simultaneously

関連する問題