Adam, Richard, Microsoft seems to have changed the email standards again; do you think you could send in plain text?
Thanks, I appreciate it. (yes, my email client reads html, but it can't cope with this.) >>>>> "AG" == Adam Getchell <[EMAIL PROTECTED]> writes: AG> <html> AG> <head> AG> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"> AG> <meta name=Generator content="Microsoft Word 10 (filtered)"> AG> <style> AG> <!-- AG> /* Style Definitions */ AG> p.MsoNormal, li.MsoNormal, div.MsoNormal AG> {margin:0in; AG> margin-bottom:.0001pt; AG> font-size:12.0pt; AG> font-family:"Times New Roman";} AG> a:link, span.MsoHyperlink AG> {color:blue; AG> text-decoration:underline;} AG> a:visited, span.MsoHyperlinkFollowed AG> {color:purple; AG> text-decoration:underline;} AG> span.emailstyle17 AG> {font-family:Arial; AG> color:windowtext;} AG> span.EmailStyle18 AG> {font-family:Arial;} AG> @page Section1 AG> {size:8.5in 11.0in; AG> margin:1.0in 1.25in 1.0in 1.25in;} AG> div.Section1 AG> {page:Section1;} --> AG> </style> AG> </head> AG> <body lang=EN-US link=blue vlink=purple> AG> <div class=Section1> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>Hello all,</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>I’ve just started trying to use Python to automate AG> Windows system administration. I wrote my first (long-winded, amateurish) AG> shell-tool to os.path.walk through a directory structure and delete files older AG> than 2 days. (Keeps users from cluttering some temporary storage space). It AG> works fine, except that it does not delete the empty directories. Any hints?</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>"""Delete files older than AGING constant AG> using os.path.walk"""</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>import sys, os, time</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>AGING = 172800 # Default 2 days</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>def lister(dummy, dirName, filesInDir):</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> print '[' + dirName + ']'</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> for fname in filesInDir:</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> path = AG> os.path.join(dirName, fname)</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> if not AG> os.path.isdir(path):</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> AG> print path, time.ctime(os.stat(path).st_mtime), fileage(path), prune(path)</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> AG> purge(path)</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>def fileage(file):</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> curtime = time.time()</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> modtime = os.stat(file).st_mtime</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> age = curtime - modtime</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> return age</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>def prune(file):</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> if fileage(file) > AGING:</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> return AG> ("T")</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> else:</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> return AG> ("File should not be deleted")</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>def purge(file):</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> if prune(file) == "T":</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> AG> os.remove(file) </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>if __name__ == '__main__':</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> os.path.walk(sys.argv[1], lister, None)</span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'> </span></font></p> AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; AG> font-family:Arial'>--Adam Getchell</span></font></p> AG> </div> AG> </body> AG> </html> AG> -- Patricia J. Hawkins Hawkins Internet Applications, LLC _______________________________________________ ActivePython mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs Other options: http://listserv.ActiveState.com/mailman/listinfo/ActivePython