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

Python で外部コマンドを安全に実行するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-21 11:34:10823ブラウズ

How Can I Safely Run External Commands in Python?

Python での外部コマンドの実行

Python を使用する場合、外部プログラムを実行したり、システムを呼び出したりする必要がある場合があります。シェルまたはコマンド プロンプトに直接入力しているかのようにコマンドを入力できます。これを実現するために、Python には subprocess や os.system などのいくつかのメソッドが用意されています。

subprocess.run の使用

推奨される推奨方法は、subprocess.run を使用することです。多用途で安全で、他のオプションと比較してより詳細な制御が可能です。次に例を示します。

import subprocess

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

代替方法: os.system

もう 1 つの一般的なアプローチは、os.system を使用することです。ただし、スペースや特殊文字を適切に処理できないため、一般に安全ではなく、推奨されません。さらに、subprocess.run はより柔軟であり、追加機能を提供します。

subprocess.call の使用 (Python 3.4 以前)

Python 3.4 より前では、subprocess.call は次のようにする必要があります。の代わりに使用されますsubprocess.run:

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

安全性に関する考慮事項

Python 内で外部コマンドを呼び出す場合は注意が必要です。コマンドの一部が外部ソースからのものである場合、または潜在的に悪意のある文字が含まれている場合は、os.system の使用を避けてください。より多くの制御機能とセキュリティ機能を提供するため、常に subprocess.run または subprocess.call を優先してください。

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

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