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'>&nbsp;</span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>I&#8217;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'>&nbsp;</span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>&quot;&quot;&quot;Delete files older than AGING constant
AG> using os.path.walk&quot;&quot;&quot;</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'>&nbsp;</span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>AGING = 172800&nbsp; # 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'>&nbsp;</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'>&nbsp;&nbsp;&nbsp; print '[' + dirName + ']'</span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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'>&nbsp;</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'>&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp; return age</span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>&nbsp;</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'>&nbsp;&nbsp;&nbsp; if fileage(file) &gt; 
AGING:</span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return
AG> (&quot;T&quot;)</span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>&nbsp;&nbsp;&nbsp; else:</span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return
AG> (&quot;File should not be deleted&quot;)</span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>&nbsp;</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'>&nbsp;&nbsp;&nbsp; if prune(file) == 
&quot;T&quot;:</span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
AG> os.remove(file)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>&nbsp;&nbsp;&nbsp; </span></font></p>

AG> <p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
AG> font-family:Arial'>&nbsp;</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'>&nbsp;&nbsp;&nbsp; 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'>&nbsp;</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

Reply via email to