How to access file last modified dates on each file in a directory

R

RAMohrmann

Greetings,

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.

v_filename_array[0] = first file name
v_filename_array[1] - second file name

Thanks'
Rich
 
P

Praveen

I hope this sample code helps

def getfileinfo(filename):
print 'Filename : %s' % filename
stats = os.stat(filename)
size = stats[stat.ST_SIZE]
print 'File Size is %d bytes' % size

accessed = stats[stat.ST_ATIME]
modified = stats[stat.ST_MTIME]

print 'Last accessed: ' + time.ctime(accessed)
print 'Last modified: ' + time.ctime(modified)

Regards,
Praveen

Greetings,

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)
x_len=len(v_filename_array)v_filename_array[0] = first file name
v_filename_array[1] - second file name

Thanks'
Rich
 
J

Jia Lu

Greetings,

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.

For this you have some solutions.

1,
import os
import time
time.ctime(os.stat(r"L:\MyDoc\EBook\Python").st_mtime)

2,
os.path.getmtime()

3, in Win32
win32file.GetFileTime
int = GetFileTime(handle, creationTime , accessTime , writeTime )
 
F

Fredrik Lundh

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.

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>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Staff online

Members online

Forum statistics

Threads
473,767
Messages
2,569,571
Members
45,045
Latest member
DRCM

Latest Threads

Top