Pythonで現在のディレクトリパスを得る方法
- 作成日: 2023-07-07
- 更新日: 2023-12-24
- カテゴリ: Python
Pythonで現在のディレクトリパスを得る
Pythonで現在のディレクトリパスを得るにはos.getcwd()
を使います。
import os
print(os.getcwd())
# C:\tmp\work
os.getcwd()
は現在の作業ディレクトリを表す文字列を返します。
一方、os.getcwdb()
は現在の作業ディレクトリを表すバイト列を返します。
import os
print(os.getcwdb())
# b'C:\tmp\work'
os.getcwd()
もos.getcwdb()
もCPythonの内部実装ではposix_getcwd
関数が使われています。
posix_getcwd
関数内ではWindowsの場合はGetCurrentDirectoryW
関数が使われてます。
それ以外ではgetcwd
関数が使われています。
現在の作業ディレクトリを変更する
現在の作業ディレクトリを変更するにはos.chdir()
を使います。
import os
print(os.getcwd())
# C:\tmp\work
os.chdir('..')
print(os.getcwd())
# C:\tmp
os.chdir()
は現在の作業ディレクトリを引数のpath
に設定します。
os.chdir(path)
この関数は以下の例外を送出する場合があります。
- FileNotFoundError
- PermissionError
- NotADirectoryError
またos.chdir()
はpathlib.Path
も許容できます。
import os
from pathlib import Path
print(os.getcwd())
# C:\tmp\work
path = Path('..')
os.chdir(path)
print(os.getcwd())
# C:\tmp
現在のディレクトリ、親ディレクトリを参照する
os.curdir
で現在のディレクトリ、os.pardir
で親ディレクトリを参照できます。
import os
print(os.curdir)
# .
print(os.pardir)
# ..
os.path.abspath()
を使うと絶対パスに変換できます。
import os
print(os.path.abspath(os.curdir))
# C:\tmp\work
print(os.path.abspath(os.pardir))
# C:\tmp
おわりに
今回はPythonで現在のディレクトリパスを取得する方法を解説しました。
なにか参考になれば幸いです。
🦝 < 現在のディレクトリは?
🦝 < ここだよ