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()

 

 

 

欢迎大家改进共享!

你可能感兴趣的:(python)