os.system() 呼び出しのエスケープ
os.system() 呼び出しでファイル名と引数をエスケープし、さまざまな言語で特殊文字を効果的に処理します。オペレーティング システムとシェルを使用する場合は、ライブラリ関数を利用することをお勧めします。
shlex.quote() および Pipes.quote()
Python 3 ユーザーは shlex.quote( )、Python 2 と Python 3 の両方を使用する場合は Pipes.quote() を使用できます。これらの関数は文字列をエスケープするための効率的かつ堅牢なオプションとして機能し、文字列をパラメーターとしてコマンドに簡単に渡すことができます。
Python 3 の shlex.quote() の使用:
<code class="python">import shlex escaped_filename = shlex.quote(filename) os.system("cat %s" % escaped_filename)</code>
Python 2 および Python 3 での Pipes.quote() の使用:
<code class="python">import pipes escaped_filename = pipes.quote(filename) os.system("cat %s" % escaped_filename)</code>
シンプルさとセキュリティに関する考慮事項:
引用符を使用することは依然として実行可能な解決策ですが、潜在的なセキュリティ上の懸念に留意することが不可欠です。 os.system() を使用する場合、入力文字列のソースが信頼でき、悪意のある悪用の影響を受けにくいことを確認することが重要です。
以上がPython の os.system() 呼び出しでファイル名と引数を安全にエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。