python实例31[列出目录下所有的文件到txt]

 

代码: (使用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()

 

 

 

欢迎大家改进共享!

posted @ 2010-12-21 17:12  iTech  阅读(7163)  评论(5编辑  收藏  举报