ホームページ  >  記事  >  バックエンド開発  >  Pythonでシェルコマンドを実行するためのいくつかの方法のまとめ

Pythonでシェルコマンドを実行するためのいくつかの方法のまとめ

WBOY
WBOYオリジナル
2016-06-16 08:41:581144ブラウズ

最近、ページ上でシェルコマンドを実行する必要があると思いますが、最初に思い浮かぶのは os.system、
です。

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

os.system('cat /proc/cpuinfo')

しかし、ページに出力されるコマンドの実行結果は 0 または 1 であり、当然のことながらニーズを満たしていないことが判明しました。

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

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

出力 = os.popen('cat /proc/cpuinfo')
印刷出力.read()

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

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

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

(ステータス, 出力) = Commands.getstatusoutput('cat /proc/cpuinfo')
ステータスの印刷、出力

Python ドキュメント
で示される例
コードをコピー コードは次のとおりです:

>>> インポートコマンド
>>> コマンド.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> コマンド.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: そのようなファイルまたはディレクトリはありません')
>>> コマンド.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: 見つかりません')
>>> コマンド.getoutput('ls /bin/ls')
'/bin/ls'
>>> コマンド.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 1994 年 10 月 14 日 /bin/ls'

最終ページには、戻り値に基づいてコマンドの実行結果を表示することもできます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。