Python 3 でファイルの作成日時と変更日時を取得する方法は?

PYTHON3 チュートリアル

Python 3を使用してファイルの作成日時と変更日時を取得する方法

Pythonには、ファイルのメタデータを扱うための強力なライブラリが備わっています。この記事では、特にファイルの作成日時と変更日時を取得する方法を、簡潔なサンプルコードとともに説明します。

osモジュールを使用した方法

Pythonの組み込みモジュールであるosを使用して、ファイルの変更日時とアクセス日時を取得することができます。ただし、このモジュールでは直接的な「作成日時」はWindowsでのみ取得可能です。

import os
import datetime

# ファイルパスを指定
file_path = 'example.txt'

# ファイルのメタデータを取得
stats = os.stat(file_path)

# 変更日時(mtime)を取得し、読みやすい形式に変換
modification_time = datetime.datetime.fromtimestamp(stats.st_mtime)
print("変更日時:", modification_time)

# Windowsの場合、作成日時(ctime)を取得し、読みやすい形式に変換
creation_time = datetime.datetime.fromtimestamp(stats.st_ctime)
print("作成日時(Windowsのみ):", creation_time)

pathlibモジュールを使用した方法

Python 3.4以上では、pathlibモジュールが導入され、ファイルシステムのパスをオブジェクト指向で扱うことができます。このモジュールを使用しても、作成日時と変更日時を取得できます。

from pathlib import Path
import datetime

# ファイルパスをPathオブジェクトとして指定
file_path = Path('example.txt')

# 変更日時を取得し、読みやすい形式に変換
modification_time = datetime.datetime.fromtimestamp(file_path.stat().st_mtime)
print("変更日時:", modification_time)

# Windowsの場合、作成日時を取得し、読みやすい形式に変換
creation_time = datetime.datetime.fromtimestamp(file_path.stat().st_ctime)
print("作成日時(Windowsのみ):", creation_time)

追加のライブラリを使用する方法

より詳細なファイルメタデータが必要な場合や、クロスプラットフォームでの作成日時を取得したい場合は、ospathlibよりも強力なサードパーティのライブラリを使用することが推奨されます。例えば、pendulumdatetimeなどがあります。

import pendulum
from pathlib import Path

# ファイルパスをPathオブジェクトとして指定
file_path = Path('example.txt')

# 変更日時をpendulumを使って取得
modification_time = pendulum.from_timestamp(file_path.stat().st_mtime)
print("変更日時:", modification_time.to_datetime_string())

# 作成日時をpendulumを使って取得(クロスプラットフォーム)
creation_time = pendulum.from_timestamp(file_path.stat().st_birthtime)
print("作成日時:", creation_time.to_datetime_string())

これらのコードスニペットは、ファイルの作成日時と変更日時を取得するための基本的な方法を示しています。使用する環境や要件に応じて、適切な方法を選択してください。

購読
通知
0 Comments
Inline Feedbacks
View all comments