Karthikeyan Singaravelan <tir.kar...@gmail.com> added the comment:
Can you please describe the problem and the output you are expecting so that we can determine if it's a bug in Python or the logic of the code which will get better help from sites stackoverflow ? It will be helpful if you can do `tree` on the search directory if it's small so that it will be helpful to replicate the structure for test too. Please consider using 4 space instead of tabs as per PEP8 and semicolon is not needed at the end of statements. A little cleaned up version of the same program. #!/usr/bin/env python3 # -*- coding: utf-8 -*- print('') import sys, os, subprocess, re, ctypes, tempfile, shutil, tarfile, urllib.request argsCount=len(sys.argv) scriptDir = os.path.dirname(os.path.abspath(sys.argv[0])) def FindFullPaths(strPattern, *orderedSearchDirs, \ findFile=True, findDir=False, \ ignoreCase=False, returnFirst=True): print('# FindFullPaths__In') result = [] def resultAppendUnique(item): if item not in result: result.append(item) pattern = re.compile(strPattern, \ re.IGNORECASE | re.DOTALL if ignoreCase else re.DOTALL) isFound = False for searchDir in orderedSearchDirs: print('#searchDir', searchDir, orderedSearchDirs, '\n') for leafName in os.listdir(searchDir): leafPath = os.path.join(searchDir, leafName) isDir = os.path.isdir(leafPath) isFound = (findDir and isDir or \ findFile and os.path.isfile(leafPath)) \ and pattern.search(leafName) is not None print('#leafPath:', leafPath, '\n') #ERROR = output Last AND last time - no in output! print('#isFound:', isFound) #ERROR = output First AND first time - no in output! if isFound: resultAppendUnique(leafPath) if isDir and not (returnFirst and isFound): for partLeafPath in FindFullPaths(strPattern, leafPath, \ findFile=findFile, findDir=findDir, \ ignoreCase=ignoreCase, returnFirst=returnFirst): resultAppendUnique(partLeafPath) isFound = True; if returnFirst and isFound: break; if returnFirst and isFound: break; print('# FindFullPaths__Return') return result FindFullPaths('^bat$', '/tmp/') print(sys.version) Thanks ---------- nosy: +xtreak _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue34627> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com