クロスプラットフォーム互換性のための OS コマンドのエスケープ
Python で os.system() を使用してシステム コマンドを実行する場合、特殊文字とスペースを管理するファイル名と引数は非常に重要です。エスケープとして知られるこの操作は、コマンドがシェルによって正しく解釈されることを保証します。
質問で例示されているように、一般的に使用されるアプローチには、特殊文字をエスケープされた同等の文字に手動で置き換えることが含まれます。ただし、この方法は面倒でエラーが発生しやすい可能性があります。
プロセスを簡略化するために、Python ではコマンド引数をエスケープするための専用ライブラリ関数が提供されています。
Python 3 以降:
Python 2 および Python 3:
使用法:
<code class="python">import shlex escaped_string = shlex.quote(input_string) os.system("command " + escaped_string)</code>
利点:
注: を使用することが重要です。 os.system() で任意のコマンドを実行する場合は注意してください。常にユーザー入力を検証し、潜在的な悪用を防ぐために適切なセキュリティ対策を講じてください。
以上がPython で OS コマンドをエスケープするときにクロスプラットフォームの互換性を確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。