Pythonではディレクトリやファイルを操作するためのosモジュールが用意されています。
とくにプログラムが実行しているディレクトリ(カレントディレクトリ)からさまざまな操作をする頻度は高いと言えます。
「現在のカレントディレクトリを知りたい」
「カレントディレクトリを変更したい」
「カレントディレクトリのファイル一覧を取得したい」
そこで、今回はカレントディレクトリの操作方法を中心に以下の内容で解説していきます。
・そもそもカレントディレクトリとは
・カレントディレクトリのパスを取得する方法
・カレントディレクトリを変更する方法
・カレントディレクトリのファイル一覧を取得する方法
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
そもそもカレントディレクトリとは
カレントディレクトリとは、ユーザーが作業を行っているディレクトリ(フォルダ)のことを指します。
Pythonのプログラムが実行している場合は実行しているディレクトリがカレントディレクトリとなります。
プログラムの操作として、「今いるカレントディレクトリのパスを取得」、「カレントディレクトリの変更」、「カレントディレクトリに存在するファイルの一覧を取得」するなどの処理はよく行われています。
Pythonではディレクトリ・ファイル関連の操作はosモジュールを使用して行われます。
osモジュールを使用するにはプログラムの先頭行で以下のようにosモジュールをインポートしておきます。
import os
次項ではカレントディレクトリからのさまざまな操作方法について解説していきます!
カレントディレクトリのパスを取得
getcwd()を使用する方法
Pythonのプログラムが実行されている場所を絶対パスを取得したい場合は、osモジュールのgetcwd()を使用すると簡単に取得することができます。
import os currentdir = os.getcwd() print(currentdir)
実行結果:
/Users/samurai/Python/os
このようにカレントディレクトリの絶対パスを文字列で簡単に取得できます。
abspath()を使用する方法
os.abspath()を使用することでもカレントディレクトリのパスを取得することができます。
abspath()を使用する場合は引数に現在のディレクトリを相対パスで示す「”.”」を指定する必要があります。
import os currentdir = os.path.abspath(".") print(currentdir)
実行結果:
/Users/samurai/Python/os
os.getcwd()同様に絶対パスを取得することができました。
カレントディレクトリの変更
カレントディレクトリを変更する場合はos.chdir()を使用します。
os.chdir()は引数に変更するパスを指定することで、Linuxのcdコマンドのようにカレントディレクトリが変更されます。
以下ではカレントディレクトリ直下のsubディレクトリに移動しています。
import os os.chdir("sub") currentdir = os.getcwd() print(currentdir)
実行結果:
/Users/samurai/Python/os/sub
このように簡単にカレントディレクトリを変更することができました!
カレントディレクトリのファイル一覧を取得
カレントディレクトリのファイル一覧を取得するにはos.listdir()を使用します。
os.litdir()は引数に一覧で取得したいディレクトリのパスを取得します。
以下のプログラムでは、os.getcwd()でカレントディレクトリを取得したあとに、os.listdir()の引数にカレントディレクトリが格納された変数を指定しています。
import os currentdir = os.getcwd() print(currentdir) ls = os.listdir(currentdir) print(ls)
実行結果:
/Users/samurai/Python ['kikai_01.ipynb', 'start.csv', 'kiso.ipynb', 'lang.txt', 'module', 'csv_sample.py', 'file_del', '1', '__pycache__', 'sub', 'dir', 'numpy_test1.ipynb', 'sample', 'os', '.ipynb_checkpoints', 'sample.txt']
まとめ
ここではosモジュールでカレントディレクトリを操作する方法について以下の内容を解説しました。
- そもそもカレントディレクトリとは
- カレントディレクトリのパスを取得する方法
- カレントディレクトリを変更する方法
- カレントディレクトリのファイル一覧を取得する方法
カレントディレクトリの操作は方法さえ理解すればとても簡単ですので、使い方についてはしっかりと理解しておきましょう。
もし、カレントディレクトリの操作方法を忘れてしまったら、この記事を思い出してくださいね!