Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのos.pathモジュール徹底解説!パス操作の基本をわかりやすく学ぼう

Pythonのos.pathモジュールは、システム上のさまざまな場所にあるファイルを扱う際に非常に便利な、広く利用されているモジュールです。パス名の結合、正規化、取得など、さまざまな目的で使用できます。

このモジュールが提供する関数は、引数としてbytes型またはstr型のいずれか一方のみを受け付けます。また、実行結果はプログラムを実行しているOS(オペレーティングシステム)に依存することにも注意が必要です。

os.path.basename – パスの最後の部分を取得する

この関数は、パスの最後の部分(フォルダ名またはファイル名)を返します。Windowsではバックスラッシュ(\)、LinuxなどのUNIX系OSではフォワードスラッシュ(/)が使われるという違いに注目してください。

コード例

import os
# Windowsの場合
fldr = os.path.basename("C:\\Users\\xyz\\Documents\\My Web Sites")
print(fldr)
file = os.path.basename("C:\\Users\\xyz\\Documents\\My Web Sites\\intro.html")
print(file)
# UNIX系OSの場合
fldr = os.path.basename("/Documents/MyWebSites")
print(fldr)
file = os.path.basename("/Documents/MyWebSites/music.txt")
print(file)

実行結果

My Web Sites
intro.html
MyWebSites
music.txt

os.path.dirname – ディレクトリ名を取得する

この関数は、指定したフォルダやファイルが存在するディレクトリ名を返します。

コード例

import os
# Windowsの場合
DIR = os.path.dirname("C:\\Users\\xyz\\Documents\\My Web Sites")
print(DIR)
# UNIX系OSの場合
DIR = os.path.dirname("/Documents/MyWebSites")
print(DIR)

実行結果

C:\Users\xyz\Documents
/Documents

os.path.isfile – ファイルかどうかを判定する

指定した完全なパスがファイルを表しているのか、それともフォルダなのかを確認したい場合があります。そのようなときにこの関数を使用します。

  • ファイルが存在しない場合 → False を返す
  • ファイルが存在する場合 → True を返す

コード例

import os
IS_FILE = os.path.isfile("C:\\Users\\xyz\\Documents\\My Web Sites\\intro.html")
print(IS_FILE)
# UNIX系OSの場合
IS_FILE = os.path.isfile("/Documents/MyWebSites")
print(IS_FILE)
IS_FILE = os.path.isfile("/Documents/MyWebSites/music.txt")
print(IS_FILE)

実行結果

True
False
True

os.path.normpath – パスを正規化する

これは興味深い関数で、余分なスラッシュを取り除いたり、実行中のOSに応じてバックスラッシュとフォワードスラッシュを変換したりして、パスを正規化します。下記の出力を見るとわかるように、結果はプログラムを実行したOSによって異なります。

コード例

import os
# Windows形式のパス
NORM_PATH = os.path.normpath("C:/Users/Pradeep/Documents/My Web Sites")
print(NORM_PATH)
# UNIX形式のパス
NORM_PATH = os.path.normpath("/home/ubuuser//Documents/")
print(NORM_PATH)

実行結果

# Windowsで実行した場合
C:\Users\Pradeep\Documents\My Web Sites
\home\ubuuser\Documents

# Linuxで実行した場合
C:/Users/Pradeep/Documents/My Web Sites
/home/ubuuser/Documents

まとめ

os.pathモジュールを使いこなせば、OSの違いを意識せずにファイルパスを柔軟に操作できるようになります。basenameでファイル名やフォルダ名を取得し、dirnameでディレクトリを特定し、isfileで存在チェックを行い、normpathでパスを整形する——これらの基本関数を組み合わせることで、より堅牢なPythonスクリプトを作成できます。

  1. Pythonのgetpassモジュールとは?パスワード入力とユーザー名取得の基本を解説

    Pythonの標準ライブラリには、ターミナル上で動作するアプリケーションにおいて、ユーザーの認証情報を検証してから処理を実行したい場合に役立つgetpassモジュールが用意されています。このモジュールには主に2つの関数が定義されており、セキュリティを意識したコマンドラインツールの開発に欠かせない存在です。 getpass() 関数:パスワードを安全に入力する getpass()関数は、ユーザーにパスワードの入力を促すための関数です。デフォルトでは、ターミナルに入力されたキーは画面に表示(エコー)されないため、第三者にパスワードを盗み見られる心配がありません。 また、プロンプトとして表示される

  2. Pythonにパスを追加する方法|Windowsの環境変数設定でエラーを解消する手順

    Pythonとは? Pythonは1991年に初めてリリースされたプログラミング言語です。WindowsやmacOS、Linuxなど複数のOSで動作し、開発者はさまざまな用途のコードを記述・開発できます。Web開発、データ分析、AI・機械学習など幅広い分野で活用されており、その柔軟性と充実したサポート体制から、世界で最も広く使われているプログラミング言語のひとつとなっています。 コマンドプロンプトでpythonが認識されない原因 コマンドプロンプトで「python」と入力してもエラーが返され、正しく動作させるには毎回フルパスを指定しなければならないことがあります。これは、コマンドプロンプトが