Re: [Tutor] Regex to find files ending with one of a given set of extensions
Steven D'Aprano wrote: On Mon, 22 Feb 2010 04:23:04 am Dayo Adewunmi wrote: Hi all I'm trying use regex to match image formats: Perhaps you should use a simpler way. def isimagefile(filename): ext = os.path.splitext(filename)[1] return (ext.lower() in ('.jpg', '.jpeg', '.gif', '.png', '.tif', '.tiff')) def findImageFiles(): someFiles = [ sdfinsf.png,dsiasd.dgf,wecn.GIF,iewijiefi.jPg,iasjasd.py] return filter(isimagefile, someFiles) $ python test.py Traceback (most recent call last): File test.py, line 25, in module main() File test.py, line 21, in main findImageFiles() File test.py, line 14, in findImageFiles findImages = imageRx(someFiles) TypeError: '_sre.SRE_Pattern' object is not callable The error is the line findImages = imageRx(someFiles) You don't call regexes, you have to use the match or search methods. And you can't call it on a list of file names, you have to call it on each file name separately. # untested for filename in someFiles: mo = imageRx.search(filename) if mo is None: # no match pass else: print filename I incorporated this into my code: def isimagefile(filename): ext = os.path.splitext(filename)[1] return (ext.lower() in ('.jpg', '.jpeg', '.gif', '.png', '.tif', '.tiff')) And it's working fine now. Thanks! :-) Dayo ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
[Tutor] Regex to find files ending with one of a given set of extensions
Hi all I'm trying use regex to match image formats: import re def findImageFiles(): imageRx = re.compile('\.jpe?g$|\.png$|\.gif$|\.tiff?$', re.I) someFiles = [sdfinsf.png,dsiasd.dgf,wecn.GIF,iewijiefi.jPg,iasjasd.py] findImages = imageRx(someFiles) print START: %s %(findImages.start()) print GROUP: %s %(findImages.group()) def main(): findImageFiles() if __name__ == __main__: main() here's the traceback: $ python test.py Traceback (most recent call last): File test.py, line 25, in module main() File test.py, line 21, in main findImageFiles() File test.py, line 14, in findImageFiles findImages = imageRx(someFiles) TypeError: '_sre.SRE_Pattern' object is not callable i'm new with regexing, please help. Thanks Dayo ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
Re: [Tutor] Regex to find files ending with one of a given set of extensions
On Mon, 22 Feb 2010 04:23:04 am Dayo Adewunmi wrote: Hi all I'm trying use regex to match image formats: Perhaps you should use a simpler way. def isimagefile(filename): ext = os.path.splitext(filename)[1] return (ext.lower() in ('.jpg', '.jpeg', '.gif', '.png', '.tif', '.tiff')) def findImageFiles(): someFiles = [ sdfinsf.png,dsiasd.dgf,wecn.GIF,iewijiefi.jPg,iasjasd.py] return filter(isimagefile, someFiles) $ python test.py Traceback (most recent call last): File test.py, line 25, in module main() File test.py, line 21, in main findImageFiles() File test.py, line 14, in findImageFiles findImages = imageRx(someFiles) TypeError: '_sre.SRE_Pattern' object is not callable The error is the line findImages = imageRx(someFiles) You don't call regexes, you have to use the match or search methods. And you can't call it on a list of file names, you have to call it on each file name separately. # untested for filename in someFiles: mo = imageRx.search(filename) if mo is None: # no match pass else: print filename -- Steven D'Aprano ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor