Find cmd with python programing python at page320
Unix find cmd:
find . -name "*.py " -print -exec fgrep popen{};
1 from glob import glob 2 import os 3 4 def findWithExt(type): 5 for file in glob(type): 6 if 'xlian7164584' in open(file).read(): 7 print(file) 8 print('current directory is %s' % os.path.abspath('.')) 9 10 ext='*.*' 11 findWithExt(ext)
find cmd:
1 """ 2 return all files matching a filename patten at and below a root directory; 3 4 custom version of the now dreprecated find modelue in the standard lib: 5 imprt as "Tools.find" like original ,but uses os.walk loop,has no support for pruning subdires,and 6 is runnable as top-level script; 7 8 find() is a generator that uses the os.walk() generator to yield just 9 mathing filenames:use findlist() to forse result list generation; 10 """ 11 import fnmatch 12 from glob import glob 13 import os 14 15 def find(pattern,startdir=os.curdir): 16 for (thisDir,subHere,filesHere) in os.walk(startdir): 17 for name in subHere +filesHere: 18 if fnmatch.fnmatch(name,pattern): 19 fullpath = os.path.join(thisDir,name) 20 yield fullpath 21 22 def findlist(pattern,startdir=os.curdir,dosort=False): 23 matches = list(find(pattern,startdir)) 24 if dosort: 25 mathches.sort() 26 return matches 27 28 29 def findWithExt(type): 30 for file in glob(type): 31 if 'xlian7164584' in open(file).read(): 32 print(file) 33 print('current directory is %s' % os.path.abspath('.')) 34 35 #ext='*.*' 36 #findWithExt(ext) 37 38 if __name__ =='__main__': 39 import sys 40 namepattern,startdir = sys.argv[1],sys.argv[2] 41 for name in find(namepattern,startdir): 42 print(name)