Python 3:OS.Systemの代わりにサブプロセスを使用しています
-
12-11-2019 - |
質問
variable
という文字列を持ち、subprocess
のos.system
に相当する必要があります。私はこれを行う方法を見つけようとしましたが、見つかっただけです:
variable2 = subprocess.Popen(args, stdout=subprocess.PIPE)
print variable2.communicate()[0]
.
しかし、使い方を理解するのに問題があります。私の目標を達成するにはどうすればいいですか?
解決
ドキュメントは、いくつかの古いスタイルのサブプロセス作成機能について同等のものを提供します。os.system()
は説明されていますここ。
他のヒント
In [4]: os.system('uname -a')
Linux diego-workstation 3.0.0-16-generic #28-Ubuntu SMP Fri Jan 27 17:44:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Out[4]: 0
In [8]: subprocess.call(['uname', '-a'])
Linux diego-workstation 3.0.0-16-generic #28-Ubuntu SMP Fri Jan 27 17:44:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Out[8]: 0
. subprocess.call
、subprocess.check_call
関数とsubprocess.check_output
関数を調べます。実行可能ファイルと一連の引数を明示的に指定するのではなく、(OS.Systemに与えられるように)シェルコマンドを実行している場合は、shell=True
を渡す必要があるかもしれません。
所属していません StackOverflow