アフィリエイト広告を利用しています

広告

posted by fanblog
http://赤ヘル.comに引っ越しました。

python ファイルの更新日時を取得

今回は前回の python ディレクトリ情報の取得 に近いのですが
取得したファイルの更新日時などを取得した際に、私がハマった箇所について書きます。




ファイルの更新日時を取得する方法ですが、

os.stat(Filepath).st_mtimeで取得できます。
使い方としてはこんな感じ。



    import os

    updtime = os.stat(fname).st_mtime
    print updtime



ただpythonの日付関数は、エポックタイムとかいうものが返ってきます。
ですので、エポックタイムを変換しなければいけません。
エポックタイムの変換にはtimeを使用します。


    import os
    import time

    updtime = os.stat(fname).st_mtime
    print updtime

# エポックタイムを変換
    mtime = time.gmtime(updtime)
    print mtime



これでmtimeの中に変換された日付情報が格納されました。
できれば yyyymmdd 形式で表示したいので最後の仕上げです。


    import os
    import time

    updtime = os.stat(fname).st_mtime   ・・・?@
    print updtime

# エポックタイムを変換
    mtime = time.gmtime(updtime)
    print mtime

#年月日抽出
    ymd = str(mtime[0]) + str(mtime[1]).rjust(2,'0') + str(mtime[2]).rjust(2,'0') ・・・?A

    print ymd


こんな感じです。これで無事に yyyymmdd の更新日が取得できました。

私がハマったのはエポックタイムの存在を知らなかったため、頭の中が???となってしまいました。
エポックタイムとは、「 1970年1月1日 0:00:00からの秒数であらわしたもの。
つまり1970年1月1日から何秒経ったのかと言う数値らしいです。

それって必要なのか・・・?
という当然の疑問もありますが、エポックタイムで管理している以上抵抗しなければw


ちなみに
?@で以下の様なこともできます。
ST_CTIME:作成日時
ST_ATIME:アクセス日時
ST_SIZE:ファイルサイズ


etc


今回のは結構使用頻度が高そうな関数ですね。

最後に?Aでさらっと書いてますが、オブジェクトで返ってきた物の中身を参照する際は
mtime[0],mtime[1],mtime[2]・・・
という感じで取得できます。

注意する点は、最初の項目が欲しい際は、 0 を指定するというくらいですかね。
(n個のオブジェクトの場合、指定できる数は0〜n-1となる)

うん。簡単でした。


{a8.net http://books.livedoor.com/item/3247473}
{a8.net http://books.livedoor.com/item/3222406}

⊆ ランキングに参加してみました!応援お願いします ⊇
にほんブログ村 野球ブログ 広島東洋カープへ ブログランキング 人気ブログランキングへ

この記事へのコメント

×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: