【Python】os.getcwd()でカレントディレクトリを取得する!

Pythonでカレントディレクトリを取得するにはos.getcwd()を使用します。

os.getcwd()とはカレントディレクトリを取得することができるメソッドであり、Pythonに標準搭載されているosモジュールをインポートしないと使用できないようになっています。

カレントディレクトリを取得することから、os.getcwd()をそのまま使用するとPythonのアプリがあるディレクトリを取得するようになります。

また、os.getcwd()メソッドはディレクトリが変更された後でも、変更後のディレクトリを取得することができますので、動的にカレントディレクトリを取得することが可能です。

今回は、Pythonのos.getcwd()メソッドを使ってカレントディレクトリを取得する方法について以下の内容で解説していきます。

ハルトさん

今回はpythonのos.getcwd()でカレントディレクトリを取得する方法について説明していきます。

さとみさん

はい!
お願いします!

ディレクトリとは

ディレクトリとはハードディスク上の位置を表すもので、WindowsやMacなどのGUI環境のフォルダーと同じ意味合いになります。

また、コンピュータで実行中のプログラムには作業フォルダーとしてカレントディレクトリが割り当てられていますが、カレントディレクトリはカレントワーキングディレクトリと呼ばれ、「cwd」と表すこともあります。

さとみさん

カレントディレクトリ…。
言われてもピンときませんね。

ハルトさん

例えば、文章を作成して保存しようとすると真っ先に開くフォルダーがありますよね。
デフォルトで設定されているフォルダーですが、これがカレントディレクトリになります。

os.getswd()とは

os.getswd()とは現在のカレントディレクトリを取得することができるメソッドになります。

そして、取得する際には絶対パスを文字列として返すようになります。

os.getcwd()の書き方

os.getcwd()の書き方は下記となります。

osをインポートした後にos.getcwd()メソッドを呼び出すことでカレントディレクトリを取得することができます。

カレントディレクトリを取得するサンプルコード

カレントディレクトリを取得するサンプルコードを紹介します。

sample.py

出力結果

‘C¥¥Users¥¥ユーザー名¥¥AppData¥¥Local¥¥Programs¥¥Python¥¥Python38-32’

os.getcwd()を呼びだすことで、カレントディレクトリを取得することができます。
その為、Pythonアフリのディレクトリが表示されています。

変更されたカレントディレクトリを取得する方法

また、os.getcwd()は変更されたカレントディレクトリを取得することもできます。

カレントディレクトリを変更するにはos.chdir()メソッドを使用しますが、カレントディレクトリの変更が反映された後にos.getcwd()を使用すると変更したディレクトリを取得します。

sample.html

出力結果

・ディレクトリ変更前
‘C¥¥Users¥¥ユーザー名¥¥AppData¥¥Local¥¥Programs¥¥Python¥¥Python38-32’

・ディレクトリ変更後
‘C¥¥Users¥¥ユーザー名¥¥AppData¥¥Local¥¥Programs¥¥Opera’

os.chdir()メソッドでカレントディレクトリの変更が反映された後にos.getcwd()メソッドで変更した後のカレントディレクトリを取得しています。
そのため、PythonのディレクトリからOperaのディレクトリに変更されて表示されています。

さとみさん

PythonのディレクトリからOpreaのディレクトリに変更されたディレクトリを取得していますね!

ハルトさん

そうですね。
os.getcwd()はos.chdir()でディレクトリを変更した後でも変更後のディレクトリを取得することができます。

今回のポイント

os.getcwd()でカレントディレクトリを取得

⚫︎ Pythonでカレントディレクトリを取得するにはjQueryのos.getcwd()メソッドを使用する

⚫︎ os.getcwd()メソッドをそのまま使用すると、Pythonのアプリが入っているディレクトリを取得する

⚫︎ os.getcwd()メソッドはos.chdir()メソッドでカレントディレクトリの変更が反映された後でも変更したディレクトリを取得することができる

Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報