【Python】コード内から色々なパスを取得する方法【osモジュール】

Python

Pythonで様々なパスを取得する方法を解説します。

パス(英:path)とは ファイルやフォルダの置いてある場所のこと。 あるいは 「ファイルやフォルダの置いてある場所」+「ファイルの名前」のこと です。

パス (path)とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

絶対パスと相対パス

パスには絶対パス相対パスと言うものが存在しています。
この2つのパスの違いを見てみましょう!

絶対パス

絶対パスとは「そのパスを完全に表したもの」です。
どこに居ても必ずその場所がわかるので住所を表しているようなイメージです。

Users/ユーザー名/Desktop/test/main.pyと言うようなパスになります。

相対パス

相対パスとは「自分の位置からそのファイルへの道順を表したもの」です。
現在の位置からの道順なので自分が移動することでパスが変わってしまいます。

Desktop/test/main.pyと言うようなパスになります。

パスの取得

Pythonでパスを取得するにはosモジュールを使います。

サンプルではデスクトップに作成したPythonフォルダの中のmain.pyを実行しています。
Desktop/Python/main.py

カレントディレクトリの取得:os.getcwd()

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

カレントディレクトリとは?

ユーザーが現時点で作業を行っているディレクトリのこと。作業フォルダとも呼ばれる。

サンプル

試しにカレントディレクトリを出力してみます。

import os

print(os.getcwd())

実行結果

/Users/ユーザー名/Desktop/Python

ファイルのパスの取得:__file__

ファイルのパスを取得するには__file__を使います。

サンプル

試しにファイルのパスを出力してみます。

print(__file__)

実行結果

/Users/ユーザー名/Desktop/Python/main.py

ファイル名の取得:os.path.basename()

os.path.basename()の引数にパスを指定することでファイル名のみを取得できます。

サンプル

試しにパスからファイル名のみを抜き出して出力してみます。

import os

print(os.path.basename(__file__))

実行結果

main.py

ファイルの絶対パスの取得:os.path.abspath()

ファイル名からそのファイルの絶対パスを取得することができます。

サンプル

試しにファイル名から絶対パスを取得して出力してみます。

import os

print(os.path.abspath('main.py'))

実行結果

/Users/ユーザー名/Desktop/Python/main.py

ディレクトリのパスの取得:os.path.dirname()

引数に指定されたパスからディレクトリのパスを取得します。

サンプル

試しにパスからディレクトリのパスを抜き出して出力してみます。

import os

print(os.path.dirname(__file__))

実行結果

/Users/ユーザー名/Desktop/Python
タイトルとURLをコピーしました