Python os.path モジュール

Python File(文件) 方法Python OS ファイル/ディレクトリメソッド


os.path モジュールは主にファイルの属性を取得するために使用されます。

以下は os.path モジュールのいくつかの一般的なメソッドです:

メソッド説明
os.path.abspath(path) 絶対パスを返す
os.path.basename(path) ファイル名を返す
os.path.commonprefix(list) リスト(複数のパス)の中で、すべてのpathに共通する最長のパスを返す
os.path.dirname(path) ファイルパスを返す
os.path.exists(path) パス path が存在する場合は True を返し、パス path が存在しないか壊れている場合は False を返します。
os.path.lexists(path) パスが存在すれば True を返し、パスが壊れていても True を返します
os.path.expanduser(path) path に含まれる~と~userユーザーディレクトリに変換する
os.path.expandvars(path) 環境変数の値に基づいて置き換えるpathに含まれる$nameと${name}
os.path.getatime(path) 最終アクセス時間を返す(浮動小数点数・秒)
os.path.getmtime(path) ファイルの最終変更時間を返す
os.path.getctime(path) ファイル path の作成時間を返す
os.path.getsize(path) ファイルサイズを返し、ファイルが存在しない場合はエラーを返す
os.path.isabs(path) 絶対パスかどうかを判定する
os.path.isfile(path) パスがファイルかどうかを判定する
os.path.isdir(path) パスがディレクトリかどうかを判定する
os.path.islink(path) パスがリンクかどうかを判定する
os.path.ismount(path) パスがマウントポイントかどうかを判定する
os.path.join(path1[, path2[, ...]]) ディレクトリとファイル名を結合して1つのパスにする
os.path.normcase(path) pathの大文字小文字とスラッシュを変換する
os.path.normpath(path) pathの文字列形式を正規化する
os.path.realpath(path) pathの実際のパスを返す
os.path.relpath(path[, start]) startから相対パスを計算する
os.path.samefile(path1, path2) ディレクトリまたはファイルが同じかどうかを判定する
os.path.sameopenfile(fp1, fp2) fp1とfp2が同じファイルを指しているかどうかを判定する
os.path.samestat(stat1, stat2) stat タプル stat1 と stat2 が同じファイルを指しているかどうかを判定する
os.path.split(path) パスを dirname と basename に分割し、タプルを返す
os.path.splitdrive(path) 通常は Windows で使用され、ドライブ名とパスからなるタプルを返す
os.path.splitext(path) パスを分割し、パス名とファイル拡張子のタプルを返す
os.path.splitunc(path) パスをマウントポイントとファイルに分割する
os.path.walk(path, visit, arg) pathを走査し、各ディレクトリに入るたびにvisit関数を呼び出します。visit関数は3つの引数(arg, dirname, names) を持つ必要があります。dirnameは現在のディレクトリ名を表し、names は現在のディレクトリ内のすべてのファイル名を表し、args は walk の3番目の引数です。
os.path.supports_unicode_filenames Unicodeパス名をサポートするかどうかを設定する

実例

以下の実例は os.path 関連メソッドの使用法を示しています:

実例

#!/usr/bin/python # -*- coding: UTF-8 -*- import os print( os.path.basename('/root/サンプル.txt') ) # ファイル名を返す print( os.path.dirname('/root/サンプル.txt') ) # ディレクトリパスを返す print( os.path.split('/root/サンプル.txt') ) # ファイル名とパスを分割する print( os.path.join('root','test','サンプル.txt') ) # ディレクトリとファイル名を結合して1つのパスにする

上記プログラムを実行すると、出力結果は次のようになります:

サンプル.txt
/root
('/root', 'サンプル.txt')
root/test/サンプル.txt

以下の実例はファイルの関連情報を出力します。

実例

#!/usr/bin/python # -*- coding: UTF-8 -*- import os import time file='/root/サンプル.txt' # ファイルパス print( os.path.getatime(file) ) # 最終アクセス時間を出力 print( os.path.getctime(file) ) # ファイル作成時間を出力 print( os.path.getmtime(file) ) # 最終変更時間を出力 print( time.gmtime(os.path.getmtime(file)) ) # struct_time形式で最終変更時間を出力 print( os.path.getsize(file) ) # ファイルサイズを出力(バイト単位) print( os.path.abspath(file) ) # 絶対パスを出力 print( os.path.normpath(file) ) # pathの文字列形式を正規化する

上記プログラムを実行すると、出力結果は次のようになります:

1539052805.5735736
1539052805.5775735
1539052805.5735736
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=9, tm_hour=2, tm_min=40, tm_sec=5, tm_wday=1, tm_yday=282, tm_isdst=0)
7
/root/サンプル.txt
/root/サンプル.txt

Python File(文件) 方法Python OS ファイル/ディレクトリメソッド

その他の拡張