Thanks for your help. I knew of a way to solve this issue, but being a C++ programmer I tend to think of the expanded solutions for things. I wasn't sure if there was a more compact solution for python. Thanks again!<br>
<br><div class="gmail_quote">On Mon, Feb 25, 2008 at 11:27 AM, Tim Chase <<a href="mailto:python.list@tim.thechases.com">python.list@tim.thechases.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">>> ignored_dirs = (<br>
>>    r".\boost\include",  # It's that comma that makes this a tuple.<br>
>>     )<br>
>><br>
><br>
> Thanks for reminding me of this. I always forget that!<br>
><br>
> Now that it is correctly doing *only* whole string matches, what if I want<br>
> to make it do a substring compare to each string in my ignored_dirs tuple?<br>
<br>
</div>Sounds like a good opportunity for the underused for/break/else<br>
construct:<br>
<br>
######################################################<br>
<div class="Ih2E3d">ignored_dirs = (<br>
     r".\boost\include",<br>
</div><div class="Ih2E3d">     )<br>
<br>
if __name__ == "__main__":<br>
     # Walk the directory tree rooted at 'source'<br>
     for root, dirs, files in os.walk( source ):<br>
</div>        for dirname in ignored_dirs:<br>
             # may need to normalize to root.lower()<br>
             if dirname in root:<br>
                 print 'Skipping', root<br>
                 break<br>
         else:<br>
             CopyFiles( root, files, ".dll" )<br>
######################################################<br>
<br>
-tkc<br>
<br>
<br>
</blockquote></div><br>