サブプロセスによる現在のディレクトリの変更
サブディレクトリまたはスーパーディレクトリ内でスクリプトを実行する場合、最初に目的のディレクトリに移動する必要があります。ただし、サブプロセスを使用して作業ディレクトリを変更すると、エラーが発生する可能性があります。この記事では、この問題を調査し、解決策を提供します。
この問題は、提供されているサンプル コードで示されているように、サブプロセスを通じて 'cd' コマンドを実行しようとすると発生します。サブプロセスはプログラムとして「cd」を呼び出そうとしますが、実際にはこれは「cd
このエラーを回避するには、「subprocess.call」を使用してください。 ('cd ..',shell=True)' は、コマンドがシェルによって実行されるように指定します。ただし、子プロセスで現在のディレクトリを変更しても親プロセスのディレクトリには影響しないため、この方法は不要です。
代わりに、目的の機能を実現する別の方法があります。
<code class="python">os.chdir("/") subprocess.Popen("ls") os.chdir(wd)</code>
<code class="python">subprocess.Popen("ls", cwd="/")</code>
これらのメソッドを採用すると、サブプロセスを使用して異なるディレクトリ内でスクリプトを実行するときに、現在のディレクトリを効果的に制御できます。
以上がサブプロセス使用時に現在のディレクトリを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。