New submission from badrussians <oknaassortim...@gmail.com>: #!/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$', '/home/user/Рабочий стол/ttt'); print(sys.version); #### OUTPUT: #### '/home/user/Рабочий стол/test2.py' # FindFullPaths__In #searchDir /home/user/Рабочий стол/ttt ('/home/user/Рабочий стол/ttt',) #leafPath: /home/user/Рабочий стол/ttt/BackupRestore.py #isFound: False #leafPath: /home/user/Рабочий стол/ttt/temp.py #isFound: False #leafPath: /home/user/Рабочий стол/ttt/Create ISO.py #isFound: False # FindFullPaths__Return 3.6.5 (default, Apr 1 2018, 05:46:30) [GCC 7.3.0] ###### Environment ###### Russian Ubuntu 18.04.1 and Kali 2018.3 PS: Ru:'/home/user/Рабочий стол' == Eng'/home/user/Desktop' ---------- components: Interpreter Core files: test2.py messages: 324996 nosy: badrussians priority: normal severity: normal status: open title: Python incorrect execution order type: behavior versions: Python 3.6 Added file: https://bugs.python.org/file47795/test2.py _______________________________________ 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