Python: カレントディレクトリを移動・取得(表示)する

Pythonでカレントディレクトリを移動したり取得(表示)する場合、 osモジュールにある関数を利用します。 移動する場合は「os.chdir()」、取得する場合は「os.getcwd()」。 getcwd()のcwdは「current working directory」の略です。

カレントディレクトリを取得

os.getcwd()でカレントディレクトリを取得します。 引数は必要ありません。戻り値はカレントディレクトリが記述された文字列です。 カレントディレクトリのことを作業ディレクトリとも言います。

import os

p = os.getcwd()

print(p)  # D:\test\python

print(type(p))  # <class 'str'>

カレントディレクトリを移動

os.chdir()でディレクトリを移動します。 引数には絶対パス相対パスを指定します。

相対パスで1つ上のディレクトリに移動する場合はドットを使って「../」、 2つ上の場合は「../../」と記述します。 現在のディレクトリを表す場合は「./」です。

import os

os.chdir("dir1")   # 相対パス

os.chdir("d:\\test")  # 絶対パス

chdirで存在しないパスを指定した場合はエラー 「FileNotFoundError」が発生します。

カレントディレクトリを移動するサンプル

os.getcwd()とos.chdir()を使って、 カレントディレクトリを移動、取得(表示)してみます。

Windows環境で次のようなディレクトリ(フォルダ)構成で、 実行ファイルが「d:\test\python」内にあるとします。

d:
└ test
  └ python
    └ dir1
import os

# カレントディレクトリを表示
print(os.getcwd())    # D:\test\python

# 相対パスでdir1に移動
os.chdir("dir1")

print(os.getcwd())    # D:\test\python\dir1

# 1つ上に移動
os.chdir("../")

print(os.getcwd())    # D:\test\python

# 絶対パスで移動
os.chdir("d:\\test")

print(os.getcwd())    # d:\test

最後の絶対パスで移動している部分は「"d:\\test"」ではなく「/」を使って 「"d:/test"」と記述しても大丈夫です。

Python