Python os.path モジュール
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 OS ファイル/ディレクトリメソッド