プログラミングをする人の場合、プログラム上でファイルの読み書きする際にはファイルの場所をきちんと指定しなければなりません。
ここで必要な「フォルダの階層構造」であったり、ファイルの場所の指定方法について、きちんと理解できていますか?
きちんと理解できていないと、ファイルの場所がわからなくなったり、ファイルの場所を間違って指定してしまうといったことも起きかねません。
そうならないためにも、それらの方法について、一緒に理解していきましょう^^
難しいものではないので、きちんと理解することで作業効率を上げることもできると思います!
ディレクトリと階層構造
IT用語に「ディレクトリ」というものがあります。ディレクトリとは、フォルダのことを指しています。
通常、PC内のデータはフォルダによって管理されています。
用途ごとにフォルダを作り、またその中にフォルダを、、、といったように、入れ子のようにフォルダが作成されます。
そしてフォルダによってファイルの位置が管理されます。
こういった構造を「階層構造」と呼びます。
ディレクトリについてもう少し説明します。
ルートディレクトリ
ルートとは”root”(根)という意味です。つまり、全ての根っこのフォルダがルートディレクトリです。
ファイルやフォルダのデータはPCのハードディスクやSSDに保存されています。
エクスプローラーを起動すると、Cドライブ(C:)やDドライブ(D:)などが出てくると思います。
これらがハードディスクやSSDであり、この中にデータが入っています。
Cドライブを開いてみます。
早速フォルダが出てきました。ハードディスクを開いて一番最初のディレクトリがここです。
なので、ここはCドライブのルートディレクトリになります。一般に、「Cドライブ直下」と表現することもあります。
Windowsでは、ここが起点となってすべてのフォルダやファイルが配置されていきます。
カレントディレクトリ
カレントディレクトリとは、現在作業をしているディレクトリを示します。
例えば、Cドライブ→ユーザー→ドキュメントの中にあるExcelファイルを開いて作業しているとします。このとき、ドキュメントフォルダがカレントディレクトリになります。
パスを理解する
さて、これまででディレクトリや階層構造について解説してきました。
プログラムを実行する場合、ディレクトリやファイルの場所を指定する必要があります。
それを指定する際に用いるのが「パス」です。
「パス」は英語で”path”と書き、「通り道」や「経路」といった意味です。つまり、「パス」の指定とはある場所から指定したいファイルやディレクトリまでの「経路」を指定してあげるということなのです。
「パス」には「絶対パス」と「相対パス」の2種類があります。
この2つの違いは、経路がスタートする場所にあります。
順に見ていきましょう^^
絶対パス
絶対パスとは、ルートディレクトリからの経路を指します。
ルートディレクトリとは、全ての起点となるディレクトリでした。
下図の場合、「ドキュメント」フォルダの絶対パスは、
“Cドライブ→ユーザー→ドキュメント“
となります。パスの表記の仕方としては、
“C:/ユーザー/ドキュメント” または
“C:\ユーザー\ドキュメント” (”C:¥ユーザー¥ドキュメント”) のように表します。
つまり、絶対パスとは、スタート位置がいかなる場合も変わらない絶対的なパスということなのです。
絶対パスの確認方法
それでは、実際に絶対パスを確認する方法を紹介します。
方法① プロパティを開く
フォルダやファイルを右クリックし、プロパティを開くことで確認できます。
デスクトップにある”sample”フォルダの絶対パスを調べてみます
プロパティを開くと
場所のところに記載されているのが絶対パスです。Windowsの場合、ほとんどがCドライブからスタートします。
方法② エクスプローラーで確認
エクスプローラーでも絶対パスを確認することができます。
先ほどと同じフォルダの絶対パスをエクスプローラーで調べてみましょう。
まず、デスクトップまで行きます。
sampleフォルダがありました。
ファイルやフォルダが並んでいる上のタブをクリックすると
絶対パスが表示されます。
パスをコピーしたい場合はこちらの方法のほうが便利です^^
相対パス
相対パスとは、カレントディレクトリからの経路を指します。
以下のフォルダ構成を考えます
「ドキュメント」フォルダがカレントディレクトリで、”sample1″フォルダまでのパスを参照したいとします。
相対パスでは、以下のような経路で指定します。
ドキュメントから、1つ前の階層のユーザーフォルダに戻り、sample1まで行きます。
ちなみに、ドキュメントフォルダから見てユーザーフォルダは1つ前の階層に位置していますが、この時、ユーザーフォルダを「親ディレクトリ」と呼びます。
相対パスの表現方法
それでは、相対パスで実際に指定してみましょう。
カレントディレクトリは「ドキュメント」フォルダをですが、相対パスでは省略しても大丈夫です。
そして、親ディレクトリである「ユーザー」フォルダに戻ります。親ディレクトリは、” .. “で表します。
つまり今回の場合、相対パスは以下のようになります。
“../sample1“
非常に短く記述することができました^^
さらに親ディレクトリを遡っていく場合は、
“../../../○○”
といったように書いていきます。
相対パスのメリット
相対パスでは、短い記述でパスを表現することができます。
主に、Webページを作成する際などは、パスの記述が長くならないように相対パスが用いられる場合が多いようです。
まとめ
フォルダの構造やパスについて理解を深めてもらえたでしょうか?
パスの書き方を知っておくことで、無駄な記述を減らすことができたり何かと便利です^^
フォルダの構造をしっかり理解して、スマートに作業を進めたいですね!
ではでは👋