os#
path・情報取得#
メソッド | 説明 |
---|---|
os.sep |
パス区切り文字の取得 |
os.getcwd() |
カレントディレクトリを取得 |
os.chdir(path) |
指定したカレントディレクトリへ移動 |
os.listdir(path) |
パス配下のファイル・ディレクトリのリストを取得 |
os.path.join(path1,path2) |
パスの結合 |
os.path.split(path) |
パスの末尾を取得 |
os.path.abspath(相対path) |
指定した相対パスの絶対パスを取得 |
os.path.relpath(path,起点のpath) |
起点パスからみたパスの相対パスを取得 |
os.path.exists(path) |
パスの存在を判定 |
os.path.isdir(path) |
指定したパスがパスか否かを判定 |
os.path.isfile(path) |
指定したパスがファイルか否かを判定 |
os.path.splitext(path) |
指定したパスの拡張子とその手前までの文字列を取得 |
os.walk(path) |
パス配下を走査、"topdown=False"の引数で逆向きに |
os.scandir(path) |
ディレクトリやファイルの情報をイテレータで生成 |
os.path.basename(path) |
末尾のファイル名部分を取得する |
os.path.dirname(path) |
ディレクトリ名部分を取得する |
os.path.getsize(path) |
ファイルサイズを取得する |
os.path.getctime(path) |
作成日時を取得する |
os.path.getmtime(path) |
更新日時を取得する |
os.path.getatime(path) |
最終アクセス日時を取得する |
操作#
メソッド | 説明 |
---|---|
os.rename(path) |
ファイルの名前変更 |
os.replace(src, dst) |
ファイルまたはディレクトリ src の名前を dst へ変更。dst がディレクトリの場合 OSError。 |
os.rmdir(path) |
ディレクトリパスを削除(削除)。ディレクトリが存在しないか空でない場合、それぞれFileNotFoundErrorまたはOSError |
os.renames(old, new) |
再帰的にディレクトリやファイル名を変更` |
os.mkdir(path) |
指定したパスのディレクトリを新規作成 |
os.makedirs(path) |
指定したパスのディレクトリを再帰的に新規作成 |
os.remove(path) |
指定したファイルまたはディレクトリを削除 |
os.removedirs(path) |
再帰的にディレクトリを削除する |
os.chmod(path, mode) |
パーミッション変更 |
os.chown(path, uid, gid) |
所有者変更 |
os.walk#
os.walk()
関数は それぞれ以下のディレクトリの情報を含むタプル(dirPath, dirs, files)を返す。
dirPath
: ディレクトリのパス(文字列)dirs
: ディレクトリに含まれるディレクトリのリスト(文字列のリスト)files
: ディレクトリに含まれるファイルのリスト(文字列のリスト)
import os,re
from pprint import pprint
# 対象ディレクトリと検索パターンの定義
target = r"対象ディレクトリ"
ptrn = re.compile(r"md")
path_list = [
# 検索条件にマッチしたファイルに絶対パスを付ける
# os.path.abspath(file) とも記述可能
os.path.join(dirPath + '/' + file)
for dirPath, dirs, files in os.walk(target)
for file in files
# パターンにマッチしたファイルのみ抽出
if ptrn.search(file)
]
pprint(path_list)
Info
戻り値をタプルとして受け取らない場合は、以下のように記述