代码: (使用os.listdir)
import osdef 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 osdef 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()