pytilpack.cache¶
pytilpack.cache
¶
ファイルの最終更新日時に基づいてキャッシュを管理するモジュール。
CacheEntry(mtime, data, loader)
dataclass
¶
キャッシュエントリ。
タイムスタンプ、データ、ローダー関数を保持する。
CachedFileLoader(loader=None)
¶
ファイルの最終更新日時に基づいてキャッシュを管理するローダー。
使用例::
# テキストファイルを読み込むローダー
loader = CachedFileLoader[str](lambda p: p.read_text())
# デフォルトローダーでファイルを読み込み
content = loader.load(pathlib.Path("file.txt"))
# カスタムローダーでオーバーライド
uppercase = loader.load(pathlib.Path("file.txt"), lambda p: p.read_text().upper())
デフォルトのローダー関数を設定してインスタンスを初期化。
引数:
| 名前 | タイプ | デスクリプション | デフォルト |
|---|---|---|---|
loader
|
Callable[[Path], T] | None
|
デフォルトのローダー関数。省略可能。 |
None
|
ソースコード位置: pytilpack/cache.py
load(path, loader=None)
¶
キャッシュを利用してファイルを読み込み。
引数:
| 名前 | タイプ | デスクリプション | デフォルト |
|---|---|---|---|
path
|
Path
|
ファイルパス。 |
必須 |
loader
|
Callable[[Path], T] | None
|
ローダー関数。省略時は__init__で指定したローダーを使用。 |
None
|
戻り値:
| タイプ | デスクリプション |
|---|---|
T
|
読み込んだデータ。キャッシュがある場合はキャッシュから返す。 |
発生:
| タイプ | デスクリプション |
|---|---|
ValueError
|
ローダー関数が指定されていない場合。 |
FileNotFoundError
|
ファイルが存在しない場合。 |