pythonでシステムコールするsubprocessライブラリ

Pythonでシェルコマンドを呼び出すにはos.callがあるが、
ナウなヤングはsubprocessをつかう

公式の動機付け(PEP 324 -- subprocess - New process module)として

No implicit call of /bin/sh. This means that there is no need for escaping dangerous shell meta characters. <<

実際のところ

PEP 324 -- subprocess - New process module | Python.orgより

output=`mycmd myarg`

output = Popen(["mycmd", "myarg"], stdout=PIPE).communicate()[0]

引数も渡せるぞ

import subprocess
import sys
 
command = ["ls", "-l"]
 
res = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
 
sys.stdout.buffer.write(res.stdout)