2010年10月22日

最終更新日付を更新するPythonスクリプト

久しぶりのPython

Pythonでファイルの最終更新日付を更新するにはos.utimeを使用する。

   os.utime(path, times)

pathはファイルパス、timesは(最終アクセス時刻, 最終更新時刻)の形のタプル指定する。それぞれの時刻にはエポックからの経過時間を指定する。

エポックからの経過時間を取得するには、time.mktimeが使える。

   time.mktime(t)

tはstruct_timeという9つの整数からなるシーケンス(Python ライブラリリファレンス 14.2 time -- 時刻データへのアクセスと変換 参照)。

struct_timeを取得するには、time.strptimeが使える

   time.strptime(string, [format])

まとめると

  1. time.strptimeでstruct_timeを取得する
  2. time.mktimeで1.で取得したstruct_timeから経過時間を取得
  3. 2.で取得した経過時間を使って(最終アクセス時刻, 最終更新時刻)のタプルを作成
  4. os.utimeでファイルと3.のタプルを指定

となる。

コードにすると以下になる。

import os
import time

filename = 'A:\重要な証拠.txt'
t = time.strptime('2004-6-8', '%Y-%m-%d')

times = (time.mktime(t), time.mktime(t))
os.utime(filename, times)

このプログラムを使用して逮捕されても責任は負いかねます。

0 件のコメント:

コメントを投稿