2017-12-12 18 views
1

最初のexeを実行した後、検証はほとんど行われず、後で次のexeを実行します。Pythonでシステムコマンドの後に次の行を実行する方法

os.system ("C:/Python27/python.exe") 

--Few VALIDATION-- 


os.system ("C:\notepad.exe") 

しかし、実行しながら、私は( "C:/Python27/python.exe)os.systemを実行した後、最初のexeファイルを打ったのです。、Pythonは次の行を実行しません

答えて

1

まあ、 os.systemはあなたがサブプロセスモジュールを使用する必要があります。(プログラムを終え、終値)のリターンのためにあなたのpythonと待機を実行します。あなたは次のコード試みることができる。close_fds(ファイルディスクリプタ)と

subprocess.Popen(['C:/Python27/python.exe'], close_fds=True) 
# Few Validation 
subprocess.Popen(['C:\notepad.exe'], close_fds=True) # C:\ or C:/ 

、プログラムが外れで実行する必要があります状態なので、終了スクリプトはshouldn他の生まれたプロセスを終了しない。

+0

私はsubprocess.Popen(['C:/Python27/python.exe']、close_fds = True)を使用すると、プログラムはデタッチ状態で実行されます。 しかし私はsubprocess.Popen(['C:/Python27/python.exe']、shell = False)を使用しても同じ結果が得られます。 close_fds = Trueとshell = Falseの違い –

+0

シェルの環境を最小限に抑えたい場合(例えば、基本パスがあるので、 '/ usr/bin/ls'の代わりにlsコマンドを実行できます)、trueを使用します。 。 FDSはファイル記述子です(input(0)output(1)error(2))。 close_fds = Trueを指定すると、Pythonにはそれを読まないと言われるので、プログラムはデタッチ状態で実行できます。 –

+0

Alex Baranowski:どこからこれらの概念を学ぶのですか –

関連する問題