このメソッドは標準 C の system() 関数を直接呼び出しますが、サブターミナルでシステムコマンドを実行するだけであり、コマンド実行後の戻り情報は取得できません。
os.system(cmd)の戻り値。実行が成功した場合は、コマンドが正常に実行されたことを示す 0 が返されます。それ以外の場合は実行エラーとなります。
using os.system の戻り値は、スクリプトの終了ステータス コードです。シェル スクリプトを呼び出した後、このメソッドは 16 ビットの 2 進数を返します。下位ビットは、呼び出されたスクリプトを強制終了するシグナル番号です。スクリプト、上位ビットはスクリプトの終了ステータス コードです。
os.system() は値 0 を返し、linux コマンドは値 0 を返します。
os.system() の戻り値は 256 で、16 桁の 2 進数は 00000001、00000000 のように表示されます。上位 8 ビットは 10 進数の 1 に変換され、Linux コマンドの戻り値 1 に対応します。
os.system() の戻り値は 512 で、16 桁の 2 進数は 00000010、00000000 のように表示されます。上位 8 ビットは 10 進数の 2 に変換され、Linux コマンドの戻り値 2 に対応します。
import os result = os.system('cat /etc/passwd') print(result) # 0
os.popen() メソッドは、コマンドを実行するだけでなく、実行後に情報オブジェクトを返します (コマンドの実行後に返される情報を取得するためによく使用されます)。コマンド) が渡され、パイプライン ファイルが結果を返します。 os.popen() で返されるのはファイル読み込みのオブジェクトで、それを read() で読み込むことで実行結果を確認できます。
import os result = os.popen('cat /etc/passwd') print(result.read())
import commands status = commands.getstatus('cat /etc/passwd') print(status) output = commands.getoutput('cat /etc/passwd') print(output) (status, output) = commands.getstatusoutput('cat /etc/passwd') print(status, output)
Subprocess は、os.system、os.spawn* などを置き換える強力なサブプロセス管理モジュールです。メソッドの。
実行コマンドのパラメータやリターンに漢字が含まれる場合はサブプロセスの使用を推奨します。
以上がPython でシステムコマンドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。