サブプロセス
公式サイト:
subprocess – サブプロセス管理 | Python 3.x ドキュメント [公式]
使い方
参考:
subprocess.run | Python 3.x ドキュメント [公式]
標準出力
stdout=subprocess.PIPE
:標準出力を取得するstderr=subprocess.PIPE
:標準エラー出力を取得するstderr=subprocess.STDOUT
:標準エラー出力を標準出力に合流するcapture_output
:標準出力及び標準エラー出力を取得するtext=True
:出力を文字列として取得する
参考:
Python でコマンドラインの実行を行う方法 | 知的好奇心
シェルで実行する
shell=True
:コマンドをシェルで実行する
参考:
subprocess で Windows コマンドを実行 | Helve Tech Blog
Windows コマンドプロンプトのコマンドを実行する方法 | OFFICE54
Python でコマンドラインの実行を行う方法 | 知的好奇心
ls コマンドを実行する
参考:
Python で ls の実行結果を list に保存 – Qiita
Python でフォルダ内のファイル一覧をパス無しで取得する – Qiita
Windows でフォルダを開く
対話モードから、ディレクトリをエクスプローラーで開く。
>>> import subprocess >>> subprocess.run(["explorer", "C:\\Path\To\Somewhere"])
参考:
特定のファイルをアプリケーションで開く方法とフォルダを開く方法 | いつも隣に IT のお仕事
コマンドプロンプトを開く
対話モードから、ディレクトリを指定して新しいコマンドプロンプトを開く。
>>> import subprocess >>> subprocess.run(["start", "", "cmd", "/k", "cd", "C:\\Path\To\Somewhere"], shell=True)
参考:
Start new command prompt on Windows and wait for it finish / exit – Stack Overflow
CompletedProcess
参考:
class subprocess.CompletedProcess | Python 3.x ドキュメント [公式]
旧関数
参考:
Python 上で Unix コマンドを実行する – Qiita
Python からコマンドを呼び出す Windows 編 – Qiita
古い高水準 API – サブプロセス管理 | Python 3.x ドキュメント [公式]
os.system
**LEGACY**
コマンドの実行は、基本的に subprocess.run
を使用することが推奨されている。シェルの組み込みコマンドを実行する場合は、subprocess.run
の引数に shell=True
を追加する。
参考: