Message324998
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 |
|
Date |
User |
Action |
Args |
2018-09-11 09:38:41 | xtreak | set | recipients:
+ xtreak, badrussians |
2018-09-11 09:38:41 | xtreak | set | messageid: <1536658721.28.0.0269046726804.issue34627@psf.upfronthosting.co.za> |
2018-09-11 09:38:41 | xtreak | link | issue34627 messages |
2018-09-11 09:38:41 | xtreak | create | |
|