f



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

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

0
10/30/2006 3:00:19 AM
comp.lang.python 77058 articles. 6 followers. Post Follow

3 Replies
531 Views

Similar Articles

[PageSpeed] 40

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

On Oct 30, 8:00 am, RAMohrm...@adelphia.net wrote:
> 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

0
10/30/2006 3:55:59 AM
RAMohrmann@adelphia.net wrote:
> 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 )

0
Roka100 (103)
10/30/2006 4:26:41 AM
RAMohrmann@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>

0
fredrik2101 (5275)
10/30/2006 6:40:32 AM
Reply: