ホームページ  >  記事  >  バックエンド開発  >  Python プログラムで Unix コマンドを実行する方法

Python プログラムで Unix コマンドを実行する方法

WBOY
WBOYオリジナル
2023-08-30 10:45:121398ブラウズ

Python プログラムで Unix コマンドを実行する方法

Unix は、1969 年頃に AT&T ベル研究所のケン トンプソンとデニス リッチーによって開発されたオペレーティング システムです。さまざまなタスクを実行するために使用できる興味深い Unix コマンドが多数あります。問題は、そのようなコマンドを Python プログラムで直接使用できるかということです。それがこのチュートリアルで説明することです。

Unix コマンドlsディレクトリ内のすべてのファイルをリストします。 ls をそのまま Python スクリプトに入力すると、プログラムを実行すると次の結果が得られます。 リーリー

これは、Python インタプリタが

ls を変数として扱い、それを定義 (つまり初期化) する必要があり、Unix コマンドとしては扱わないことを示します。

os.system()

この問題に対する 1 つの解決策は、Python os モジュールの

os.system() を使用することです。

ドキュメントに記載されているように、

os.system():

サブシェルでコマンド(文字列)を実行します。これは、標準の C 関数 system() を呼び出すことによって実現されますが、同じ制限があります。
したがって、Python で

ls コマンドを次のように実行できます。 リーリー これは、

.py

プログラムが存在する現在のディレクトリ内のファイルのリストを返します。現在のディレクトリは次のようになります: リーリー 別の例を挙げてみましょう。現在の日付と時刻を返したい場合は、次のように Unix コマンド

date

を使用できます。 リーリー 私の場合、上記のスクリプトで得られた結果は次のとおりです: リーリー ###移行()###

os.system()

は動作しますが、やや古く、非推奨であると考えられるため、お勧めしません。より良い解決策は、Python サブプロセス モジュールの

call(args)

関数です。この機能に関するドキュメントで説明されているように:

args で記述されたコマンドを実行します。コマンドが完了するまで待ってから、returncode 属性を返します。 この方法を使用して ls

Unix コマンドを実行したい場合は、次のようにすることができます:
リーリー

subprocess モジュールを使用して日付を返す方法を見てみましょう。この例をさらに興味深いものにしてみましょう。 リーリー

上記の例は、以下に示すように

check_output() を使用してより簡単に実行できます。 リーリー 上記のスクリプトの出力は次のとおりです:

リーリー

上の例は、さまざまな subprocess 関数を使用する柔軟性と、さらなる操作のために結果を変数に渡す方法を示しています。

###結論は###

このチュートリアルで説明したように、

subprocess

モジュールを使用して Unix コマンドを呼び出して実行できます。これにより、さまざまな機能を通じて Unix コマンドを非常に柔軟に使用できます。このモジュールとそのさまざまな機能の詳細については、Python ドキュメントを参照してください。

以上がPython プログラムで Unix コマンドを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。