On 15.02.2011 19:32, Wanderer wrote:
I'm using code
def getFiles(self, fileBase):
"""return a list of the filenames in a director containing a
base word
"""
allFiles = os.listdir(self.resultDir)
baseFiles = []
for f in allFiles:
if f.find(fileBase)> 0:
baseFiles.append(f)
return baseFiles
but the code can't find files with fileBase in it if the fileBase
starts the filename.
if the filenames are rnoise##.tif and fileBase is "rnoise" the file
won't be found. If fileBase is "noise" the files will be found.
str.find() returns the index to the left-most occurrence or -1 if
the substring is not found. So, if the file name starts with
fileBase, find() return 0 which you filter out with your test
f.find(fileBase)> 0.
Either use f.find(fileBase) >= 0 or better:
baseFiles = []
for f in allFiles:
if fileBase in f:
baseFiles.append(f)
HTH
--
http://mail.python.org/mailman/listinfo/python-list