代码: (使用os.listdir) import os def ListFilesToTxt(dir,file,wildcard,recursion): exts = wildcard.split(' ') files = os.listdir(dir) for name in files: fullname=os.path.join(dir,name) if(os.path.isdir(fullname) & recursion): ListFilesToTxt(fullname,file,wildcard,recursion) else: for ext in exts: if(name.endswith(ext)): file.write(name + '\n') break def Test(): dir='J:\\1' outfile='binaries.txt' wildcard = '.txt .exe .dll .lib' file = open(outfile,'w') if not file: print ('cannot open the file %s for writing' % outfile) ListFilesToTxt(dir,file,wildcard, 1) file.close() Test()
代码:(使用os.walk) walk递归地对目录及子目录处理,每次返回的三项分别为:当前递归的目录,当前递归的目录下的所有子目录,当前递归的目录下的所有文件。 import os def ListFilesToTxt(dir,file,wildcard,recursion): exts = wildcard.split(' ') for root, subdirs, files in os.walk(dir): for name in files: for ext in exts: if(name.endswith(ext)): file.write(name + '\n') break if(not recursion): break def Test(): dir='J:\\1' outfile='binaries.txt' wildcard = '.txt .exe .dll .lib' file = open(outfile,'w') if not file: print ('cannot open the file %s for writing' % outfile) ListFilesToTxt(dir,file,wildcard, 0) file.close() Test()
|