Pythonでシェルコマンドを実行するにはどうすればいいですか?
Pythonではosモジュールのsystem関数を用いてシェルコマンドを実行できます。
これは一例です。
import os
# 执行ls命令
os.system('ls')
# 执行pwd命令,并获取输出结果
result = os.popen('pwd').read()
print(result)
os.system関数でシェルコマンドを直接実行できますが、コマンドを実行するだけで、結果は返されません。
シェルコマンドを実行してその出力を取得するには `os.popen` 関数を使用できます。この関数はファイルオブジェクトを返し、その `read` メソッドで出力を取得できます。
さらに、subprocessモジュールを使用することでシェルコマンドを実行することが可能であり、入出力の制御や、戻り値の取得など柔軟で強力な機能を提供します。以下にsubprocessモジュールを使用してシェルコマンドを実行する例を示します。
import subprocess
# 执行ls命令
subprocess.call('ls', shell=True)
# 执行pwd命令,并获取输出结果
result = subprocess.check_output('pwd', shell=True)
print(result.decode())
subprocess.call関数はシェルコマンドを実行するもので、shell=Trueを指定するとシェルインタプリタを有効にできます。
subprocess.check_output 関数はシェルコマンドを実行してコマンドの出力結果を返します。この結果は decode メソッドを使って文字列に変換できます。