この記事では、Pythonのソースコード内からカレントディレクトリ(作業ディレクトリ)を確認したり移動したりする方法を解説します。
カレントディレクトリを変更すると相対パスがすべて変更となるので注意が必要です。
カレントディレクトリを取得するには、os
モジュールのgetcwd()
関数を使います。
import os
os.getcwd()
返されるカレントディレクトリは、絶対パスを文字列で渡される。
import os
cd = os.getcwd()
print(cd, type(cd))
実行結果
/Users/user/Desktop/Python <class 'str'>
カレントディレクトリをバイト列として取得したい場合は、os.getcwdb()
関数を使う。
import os
cd = os.getcwdb()
print(cd, type(cd))
実行結果
b'/Users/user/Desktop/Python' <class 'bytes'>
現在のカレントディレクトリを確認することができました。
カレントディレクトリを変更するには、os
モジュールのchdir()
関数を使います。
import os
os.chdir(path)
path
引数には絶対パスを指定したり、
import os
print(f'現在のカレントディレクトリ: {os.getcwd()}')
# カレントディレクトリをデスクトップに変更
os.chdir('/Users/user/Desktop')
print(f'現在のカレントディレクトリ: {os.getcwd()}')
実行結果
現在のカレントディレクトリ: /Users/user/Desktop/Python
現在のカレントディレクトリ: /Users/user/Desktop
../
で1つ上の階層を指定したりできる。
import os
print(f'現在のカレントディレクトリ: {os.getcwd()}')
# 2つ上の階層を指定
os.chdir('../../')
print(f'現在のカレントディレクトリ: {os.getcwd()}')
実行結果
現在のカレントディレクトリ: /Users/user/Desktop/Python
現在のカレントディレクトリ: /Users/user
また、カレントディレクトリを変更しても再度実行した際には元に戻っていることに注意。