はじめてのPython!カレントディレクトリを確認・移動・一覧取得

Pythonではディレクトリやファイルを操作するためのosモジュールが用意されています。

とくにプログラムが実行しているディレクトリ(カレントディレクトリ)からさまざまな操作をする頻度は高いと言えます。

「現在のカレントディレクトリを知りたい」
「カレントディレクトリを変更したい」
「カレントディレクトリのファイル一覧を取得したい」

そこで、今回はカレントディレクトリの操作方法を中心に以下の内容で解説していきます。

・そもそもカレントディレクトリとは
・カレントディレクトリのパスを取得する方法
・カレントディレクトリを変更する方法
・カレントディレクトリのファイル一覧を取得する方法

なお、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モジュールでカレントディレクトリを操作する方法について以下の内容を解説しました。

  • そもそもカレントディレクトリとは
  • カレントディレクトリのパスを取得する方法
  • カレントディレクトリを変更する方法
  • カレントディレクトリのファイル一覧を取得する方法

カレントディレクトリの操作は方法さえ理解すればとても簡単ですので、使い方についてはしっかりと理解しておきましょう。

もし、カレントディレクトリの操作方法を忘れてしまったら、この記事を思い出してくださいね!

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

Writer

侍テック編集部

株式会社SAMURAI

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close