作業ディレクトリを変更するシェルの「cd」コマンドと同等のものはありますか? 質問する

作業ディレクトリを変更するシェルの「cd」コマンドと同等のものはありますか? 質問する

cd作業ディレクトリを変更するシェルコマンドです。

Python で現在の作業ディレクトリを変更するにはどうすればよいですか?

ベストアンサー1

作業ディレクトリを変更するには、次のようにします。

import os

os.chdir(path)

ディレクトリを変更すると、新しい場所にコードが破壊的な変更を適用する可能性があるので注意してください。さらに悪いことに、ディレクトリを変更した後にWindowsErrorやなどの例外をキャッチしないでくださいOSError。そうしないと、古い場所に破壊的な変更が適用される可能性があります。

Python 3.11 以降を使用している場合は、完了時に元の作業ディレクトリに戻ることができるように、このコンテキスト マネージャーの使用を検討してください。

from contextlib import chdir

with chdir(path):
    # do stuff here

古いバージョンの Python を使用している場合は、Brian M. Hunt の回答に独自のコンテキスト マネージャーを作成する方法が示されています。彼の答え

サブプロセスで現在の作業ディレクトリを変更しても、親プロセスの現在の作業ディレクトリは変更されません。これは Python インタープリタでも同様です。を使用して、os.chdir()呼び出しプロセスの CWD を変更することはできません。

おすすめ記事