サブプロセスを使用したディレクトリの移動
サブプロセスを使用してサブディレクトリ内でスクリプトを実行する場合、内部シェル コマンドと外部プログラムの違いを理解することが重要です。
あなたの場合、subprocess.call(['cd ..']) を使用してシェルの cd コマンドを呼び出そうとしています。ただし、cd は内部コマンドであり、プログラムとして直接実行することはできません。内部コマンドを実行するには、shell=True 引数を使用する必要があります:
<code class="python">subprocess.call('cd ..', shell=True)</code>
ただし、shell=True を指定することは、セキュリティを損なう可能性があるため、通常は推奨されません。代わりに、cwd パラメータを利用して、サブプロセスを実行する前に作業ディレクトリを変更できます。
<code class="python">subprocess.Popen("ls", cwd="/")</code>
このアプローチにより、シェルに依存せずにサブプロセスが指定された作業ディレクトリで確実に実行され、より安全なプロセスが提供されます。スクリプトのための予測可能な環境。
以上がPython でサブプロセスを含むディレクトリを移動するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。