ホームページ >バックエンド開発 >Python チュートリアル >Python でシステム コマンドとプログラムを安全に実行するにはどうすればよいですか?

Python でシステム コマンドとプログラムを安全に実行するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-27 02:58:15375ブラウズ

How Can I Safely Execute System Commands and Programs in Python?

Python でのプログラムとシステム コマンドの実行

この質問では、Python スクリプト内から外部コマンドを実行し、Python の機能をシミュレートする方法を示します。シェルまたはコマンド プロンプトにコマンドを直接入力します。これを実現するために、Python にはいくつかのメソッドが用意されています。

subprocess.run()

推奨されるアプローチは、subprocess.run() 関数を利用することです。このメソッドは、コマンド引数のリストを入力として受け取り、対応するプログラムを実行します。

import subprocess

subprocess.run(["ls", "-l"])

os.system()

もう 1 つのオプションは、os を使用することです。 system()。オペレーティング システムのコマンド シェルを直接呼び出します。ただし、このメソッドは、コマンドの一部が外部ソースからのものである場合、または特殊文字が含まれている場合に悪用される可能性があるため、安全ではないと考えられています。 Python バージョン 3.4 以前では、代わりに subprocess.call() を使用する必要があります。 .run():

subprocess.run() の利点

os.system() と比較して、subprocess.run() は柔軟性が高く、安全性。これにより、stdout、stderr、正確なステータス コードへのアクセス、および改善されたエラー処理が提供されます。
subprocess.call(["ls", "-l"])

したがって、Python でプログラムやシステム コマンドを安全かつ多目的に実行するには、subprocess.run() が推奨されるメソッドです。

以上がPython でシステム コマンドとプログラムを安全に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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