How to access file last modified dates on each file in a directory
Fredrik Lundh
fredrik at pythonware.com
Mon Oct 30 01:40:32 EST 2006
RAMohrmann at adelphia.net wrote:
> I am attempting to view all files in a directory and if those files
> have not been modified within the last couple days I will remove them.
> In order to do this I need to look at the file date modied and check
> the date. I know how to look at each file name and I know how to remove
> the file. I just can't figure out how to get access to the date last
> modifed filed. Below is how I intend to access the file names in the
> directory.
>
>>>> import os,time,sys
>>>> cachedirectory="c:\\informatica\\cache\\"
>>>> v_filename_array=os.listdir(cachedirectory)
since listdir only returns the last part of the full file path, it's
often easier to use glob.
for file in glob.glob("c:/informatics/cache/*"):
...
otherwise, you need to do os.path.join(cachedirectory, file) for each
file in the filename list, to get a full path.
to get the age of a file, use os.path.getmtime(filename). this returns
the modification time as seconds since a reference time (usually called
the "epoch". if you subtract this time from the current time, you get
the age (in seconds):
import glob, os, time
now = time.time()
for file in glob.glob("c:/informatics/cache/*"):
age = os.path.gettime(file) - now
print file, "is", age / 3600, "hours old"
adding code to remove old files should be straightforward.
</F>
More information about the Python-list
mailing list