Categories: 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

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

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

Recent Posts

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

7か月 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

7か月 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

7か月 ago

【Unity】割合から数値に数値から割合に変換する

この記事では、割合から数値に変換する関数…

7か月 ago

【Python】抽象クラスを定義する方法

この記事では、Pythonで抽象クラスを…

7か月 ago