Python

【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

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

『DMM WEBCAMP COMMIT』