File existence check with partial filename

Steven Howe howe.steven at gmail.com
Mon Mar 15 13:20:10 EDT 2010


What wrong with glob?
-----------------------
Help on module glob:

NAME
     glob - Filename globbing utility.

FILE
     /usr/lib64/python2.6/glob.py

FUNCTIONS
     glob(pathname)
         Return a list of paths matching a pathname pattern.

         The pattern may contain simple shell-style wildcards a la fnmatch.

     iglob(pathname)
         Return an iterator which yields the paths matching a pathname 
pattern.

         The pattern may contain simple shell-style wildcards a la fnmatch.

DATA
     __all__ = ['glob', 'iglob']

-------------------
solution:

import glob

for afile in glob.iglob( "/home/buddy/*.HV" ):
     print afile


sph


On 03/15/2010 08:44 AM, MRAB wrote:
> Lan Qing wrote:
>> Or use the regular module:
>>
>> import re
>> import os
>>
>> for filename in os.listdir('.'):
>>     if re.match("*HV*", filename):
>>           # do something with the file
>>
> The regular expression should be ".*HV.*", although:
>
>     re.search("HV", filename)
>
> would be better and:
>
>     "HV" in filename.upper()
>
> would be even better, as Alf posted.
>
>> On Mon, Mar 15, 2010 at 12:24 PM, Alf P. Steinbach <alfps at start.no 
>> <mailto:alfps at start.no>> wrote:
>>
>>     * Sang-Ho Yun:
>>
>>         I learned that I can check the existence of a file using
>>         os.path.isfile("filename").
>>
>>         What if I need to check if there is a file that contains "HV" 
>> in the
>>         filename?  What should I do?
>>
>>
>> <code>
>>        from __future__ import print_function
>>        import os
>>
>>        for filename in os.listdir( "." ):
>>            if "HV" in filename.upper():
>>                print( filename )
>> </code>
>>
>>
>>     Cheers & hth.,
>>
>>     - Alf
>>
>>     --     http://mail.python.org/mailman/listinfo/python-list
>>
>>
>




More information about the Python-list mailing list