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