絶対パスと相対パスについて

2024/05/21に公開

絶対パスと相対パスについての資料

1. パスの定義

パスとは、ファイルやフォルダの位置を示すもので、主に2種類あり、絶対パスと相対パスです。

2. 絶対パス

絶対パスは、システムのルートディレクトリ(トップレベルディレクトリ)からファイルやフォルダまでの完全なパスです。

特徴:
常にルートディレクトリから始まる。
システム全体で一意のパスとなる。
例:
Windowsの場合: C:\Users\Username\Documents\file.txt
Mac/Linuxの場合: /Users/Username/Documents/file.txt
メリット:
どこから参照しても同じファイルにアクセスできる。
明確な位置を示すため、トラブルシューティングがしやすい。
デメリット:
パスが長くなる場合がある。
プロジェクトの移動や共有時にパスが変わると動作しなくなる。

3. 相対パス

相対パスは、現在のディレクトリ(作業ディレクトリ)からのパスを示します。

特徴:
現在のディレクトリを基準にしたパス。
よく使うシンボル:
.(ドット): 現在のディレクトリ
..(ドットドット): 一つ上のディレクトリ
例:
./file.txt (現在のディレクトリにあるファイル)
../images/picture.png (一つ上のディレクトリにあるimagesフォルダ内のファイル)
メリット:
プロジェクト内での移動や共有がしやすい。
パスが短くなることが多い。
デメリット:
現在のディレクトリに依存するため、他の場所からのアクセスが難しい。
間違えやすいことがある。

4. 使用例と比較

絶対パスの例:

ウェブサイトの画像を指定する場合:<img src="http://www.example.com/images/picture.jpg">
サーバー内のスクリプトでファイルを読み込む場合:file = open("/var/www/html/config/settings.cfg")
相対パスの例:

同じプロジェクト内のファイルをリンクする場合:<img src="images/picture.jpg">
ウェブサイトのページ間でリンクを設定する場合:<a href="../contact.html">Contact Us</a>

5. まとめ

絶対パスは、システムのルートからの完全なパスで、一意性があり確実だが、長くなることがある。
相対パスは、現在のディレクトリからのパスで、短く簡潔だが、ディレクトリ構造に依存する。
両方のパスを使い分けることで、プロジェクトの管理がしやすくなり、効率的に作業を進めることができます。

図解

絶対パス

|-- Users
|   |-- Username
|       |-- Documents
|           |-- file.txt

絶対パス:/Users/Username/Documents/file.txt

相対パス

|-- index.html
|-- images/
|   |-- picture.png
|-- styles/
    |-- main.css

相対パス
index.htmlからpicture.pngへの相対パス:images/picture.png
main.cssからindex.htmlへの相対パス:../index.html

Discussion