Python PR

【Python】カレントディレクトリ(作業ディレクトリ)を取得したり移動したりする方法

記事内に商品プロモーションを含む場合があります

この記事では、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

また、カレントディレクトリを変更しても再度実行した際には元に戻っていることに注意。