0

Pythonスクリプトに次のwhileループがあります

while 1:   
    functionToGetXandY
    if x == z:
        os.system("google-chrome --start-maximized " + x)
        currentLink = latestLink

    if y == z:
         subprocess.call([vlc_path, "--fullscreen", z])

    time.sleep(1)

スクリプトを使用して Chrome または VLC を起動するたびに、ループが停止したように見えるか、開いているウィンドウが閉じられるまで待機することがあります。私は何が欠けていますか?

注: 無限ループは意図的なものです。スクリプトは XML ファイルを継続的にチェックしてコマンドを実行します (その部分は機能します)。

4

1 に答える 1

2

subprocess.callとの両方os.system通話をブロックしています。これは、いずれかを呼び出すと、呼び出したプログラムが終了するまでスクリプトが一時停止することを意味します。

Python スクリプトをすぐに実行し続けたい場合は、subprocess.Popenどれが非ブロッキングであり、ほとんど同じ引数subprocess.callを取るかを調べる必要があります。

于 2013-01-15T18:57:44.677 に答える