On 2011-03-04, Matt Funk <maf...@nmsu.edu> wrote: > Hi Grant, > first of all sorry for the many typos in my previous email. > > To clarify, I have a python list full of file names called 'files'. > Every single filename has extension='.hdf' except for one file which has > an '.hdf5' extension. When i do (and yes, this is pasted): > for filename in files: > if (any(filename.endswith(x) for x in extensions)): > print filename
I was unable to run that code: $ cat testit.py for filename in files: if (any(filename.endswith(x) for x in extensions)): print filename $ python testit.py Traceback (most recent call last): File "testit.py", line 1, in <module> for filename in files: NameError: name 'files' is not defined > However, it will print all the files in list 'files' (that is all > files with file extension '.hdf'). My question is why it doesn't just > print the filename with extensions '.hdf5'? Dunno. You didn't provide enough information for us to answer your question: the code you posted won't run and don't tell us what values you're using for any of the variables. Here's a piece of runnable code that I think does what you want: $ cat testit.py files = ["foo.bar", "foo.baz", "foo.bax"] extensions = [".baz",".spam",".eggs"] for filename in files: if (any(filename.endswith(x) for x in extensions)): print filename $ python testit.py foo.baz -- Grant -- http://mail.python.org/mailman/listinfo/python-list