On 29 Mar 2007 13:40:58 -0700, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > On Mar 29, 12:02 pm, [EMAIL PROTECTED] wrote: > > Alex> I'm looking for a simple method to delete a folder after 72 > > Alex> "Business hours" (saturday/sunday doesnt count) since its > > Alex> creation. Note that This is on a linux system and I realize that > > Alex> it will be the last modified time. These files wont be modified > > Alex> since their creation. > > > > Alex> Im very confused on how to work with the number easily. > > > > Take a look at the dateutil module. Its relativedelta object has some > > weekday sense: > > > > http://labix.org/python-dateutil > > > > Skip > > Hey, thanks for the reply, I was able to accomplish it (somewhat ugly) > using the datetime module alone. Here is my code. > the part with the timestamp.file is just a plaintext file containg > "#year#month#day" that is created when my client side program copies > files into my directory. > > Just posting the code so if anyone else is wondering how to do this > ever maybe they can find some of this useful: > --- > > #!/usr/bin/env python > > import datetime > import os > today = datetime.date.today().toordinal() > serverFiles = os.listdir("/home/webserver/") > theDirList=[] > for xfile in serverFiles: > if os.path.isdir("/home/webserver/" + xfile) == True: > theDirList.append(xfile) > > > for xdir in theDirList: > foo=open("/home/webserver/"+ xdir + "/timestamp.file",'r') > parseMe = foo.readlines() > fileDate=parseMe[0].split("#") > fileYear = fileDate[1] > fileMonth = fileDate[2] > fileDay = fileDate[3] > > age_of_file = today - > datetime.date(int(fileYear),int(fileMonth),int(fileDay)).toordinal() > true_age = age_of_file > for i in range(age_of_file): > d= > datetime.date(int(fileYear),int(fileMonth),int(fileDay)+i) > ourDay = d.weekday() > if ourDay == 5 or ourDay == 6: > true_age = true_age - 1 > > print xdir + " : " + str(true_age) + " days old" > > -- > http://mail.python.org/mailman/listinfo/python-list >
You may have "over thought" the problem :) (Not tested) ---------------------------------------------------------- import os, time pth = '/home/webserver/' a_day = 60*60*24 today = time.asctime().split()[0] cutOffDate = time.time() - (3 * a_day) if today in ['Mon','Tue','Wed']: cutOffDate = cutOffDate - (2 * a_day) for f in os.listdir( pth ): fname = os.path.join(pth ,f) if os.path.isfile( fname ) and os.path.getmtime(fname) < cutOffDate: print fname # os.remove(fname) ------------------------------------------------------------------ -- http://mail.python.org/mailman/listinfo/python-list