Pythonでシェルコマンドを実行する3つの方法を詳しく解説

高洛峰
リリース: 2018-05-12 16:09:48
オリジナル
2228 人が閲覧しました

最近、ページ上でシェルコマンドを実行する必要があります。

最初のコマンドは os.system です。

コードは次のとおりです:

os.system('cat /proc/cpuinfo')
ログイン後にコピー

しかし、ページに出力されるコマンドの実行結果が 0 であることがわかりました。または 1 ですが、これはもちろん要求を満たしません。

2 番目の解決策 os.popen() を試してください

コードは次のとおりです:

output = os.popen('cat /proc/cpuinfo')
print output.read()
ログイン後にコピー

os.popen() によって返されるオブジェクトは、ファイル読み取りオブジェクトです。実行の出力は、それを読み取ることで確認できます。 read() オペレーション。ただし、プログラム実行の戻り値は読み取れません)

3番目の解決策commands.getstatusoutput()を試してください。戻り値と出力を1つのメソッドで取得でき、非常に使いやすいです。

コードは次のとおりです:

(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status, output
ログイン後にコピー

Pythonドキュメントに示されている例、

コードは次のとおりです:

>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'
ログイン後にコピー


以上がPythonでシェルコマンドを実行する3つの方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート