コード一覧

【Python】ファイルの作成日を取得する方法

ファイルの作成日を取得する方法

ファイルの作成日を取得してくる方法です。
まずはコードです。

import os
import datetime

# os.path.getctimeで作成日を取得出来る(エポック秒で取得される)
epoku = os.path.getctime("C:/python/99_memo/file_name")
# 取得したエポック秒を年と日付に変更する
date = datetime.date.fromtimestamp(epoku)
# 作成日時を表示する
print(date)

osとdatetimeをimportする

import os
import datetime

osでファイル操作、datetimeで日時への変換が出来るようになる。

エポック秒の変換方法

os.path.getctimeで取得するのがエポック秒。
エポック秒とは、協定世界時(きょうていせかいじ)のこと。
略称はUTCで頭文字は Coordinated(調整された) Universal(全般的) Time(時間)
上記のコード例でprint(epoku)とすると
1584403307.4502165 と表示される。これだと意味がわからない。
そのため、date = datetime.date.fromtimestamp(epoku)で変換する。

具体的な使用例

例えば、あるフォルダのファイル名と作成日時を一覧で取得したい場合は以下のようになる。

# 取得したいファイル一覧のフォルダのパスを指定する
path = "C:/python/99_memo/"

# os.listdir()で指定したフォルダのファイル名を一覧で取得出来る
#  ファイル名はリストの形で取得される['A','B','C']的な感じ
lists = os.listdir(path)


# 取得したファイル名を取り出してパスとつなげて
# ファイルの作成日時とファイル名の一覧を表示する。
for i in lists:
    epoku = os.path.getctime(path + i)
    date = datetime.date.fromtimestamp(epoku)
    print(date,i)

ファイルが取得出来たら、古いものを削除するとか、削除しますがいいですか?フォルダに移して置くとか、会社の共有フォルダや自分のフォルダで実行するとおもしろいかもしれないです。