Pythonのpath操作を行うosモジュールの利用方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonのpath操作を行うosモジュールの利用方法について現役エンジニアが解説しています。osモジュールとは、OSに依存する機能をPythonで扱えるように提供されたモジュールです。ファイル操作やシステム操作を行うことが出来ます。osモジュールを使ってディレクトリを作成してみます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonのpath操作を行うosモジュールの利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのpath操作を行うosモジュールの利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

osモジュールとは?

osモジュールとは、OS(オペレーティングシステム)に依存する機能をPythonで扱えるように提供されたモジュールです。

ファイル操作を行ったり、コマンドラインでシステムの操作を行うときによく使われます。特に最近話題になっているRPAに似たシステムを作りたいときにこのモジュールをよく使います。

今回紹介していくのがos.pathモジュールです。このモジュールでは、パス名を操作するための便利な関数が提供されています。
 

osモジュールの使い方

実際に使い方を紹介します。osモジュールを使うには以下の1行でインポートします。

import os

それでは、ここからはos.pathモジュールで提供されている関数をいくつか紹介します。
 

os.path.isfile(パス名)

引数で指定したパス名が実在するファイルかどうかを判別する関数です。実在すればTrueを返します。
 

os.path.isdir(パス名)

先程はファイル名が存在するかを確認する関数でしたが、こちらは引数で指定したディレクトリ名が存在するかを判別する関数です。実在すればTrueを返します。
 

os.path.join(パス名, 結合したいパス)

一つ以上のパスを結合するための関数です。結合したいパスの間にはパスの区切り文字が付与された値が返されます。unix(MacやLinux)の場合は/、Windowsの場合は\\ で区切られた文字で出力されます。
 

os.path.basename(パス名)

こちらはパスの中からファイル名を取得するために使用する関数です。ファイルが存在しない場合は空の文字列が返ってきます。
 

os.path.dirname(パス名)

先ほどとは逆にファイル名ではなく、ディレクトリを取得したいときに使う関数です。
 

[PR] Pythonで挫折しない学習方法を動画で公開中

os.path()メソッドを利用してパス操作してみよう

先程関数を一通り紹介したので、これらを使って実際にパス操作を体験してみましょう。

以下のコードを保存しましょう。

import os

# パスの定義(ご自身の実行環境に合わせて変えていいです)

main_path = "/aaa/bbb/text.txt"

print("file name:", os.path.basename(main_path))

# ディレクトリを取り出して新たに"ccc"ディレクトリを追加する

main_dir = os.path.dirname(main_path)

print("joined dir:", os.path.join(main_dir, "ccc"))

 

まとめ

今回はos.pathモジュールを使って簡単なパス操作を紹介してきました。

パス操作を身につけることでファイル操作が自由自在になりますので、身につけておくといいでしょう
 

監修してくれたメンター

メンター三浦

モバイルゲームを運用している会社のエンジニアをしています。趣味でWEB開発やクラウドコンピューティングもやっており、ソフトもハードもなんでもやります。

TechAcademyジュニアではPythonロボティクスコースを担当しています。好きな言語はPython, Node.js。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。