Python列出一个文件夹及其子目录的所有文件
程序员文章站
2023-12-14 17:05:28
python简介
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python由Guido van Rossum于1989年底发明,第一个公开...
python简介
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。
像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。
>>> import os >>> for i in os.walk("."): ... print i[0],"\n##",i[1],"\n##",i[2] ... . #当前目录 ## ['fa', 'out'] #当前目录中的子目录 ## ['meta_rna.sh', 'nohup.out', 'log.cpu', 'blast_seq.py'] ./fa # 第一个子目录 ## [] # 第一个子目录中的目录 ## ['assemblyar_new_2.faa'] ./out # 第二个子目录 ## [] # 第二个子目录中的目录 ## ['assemblyar_new_2.faa.coord', 'assemblyar_new_2.faa.mask', 'assemblyar_new_2.faa.seq', 'result_1.xm', 'result.xml', 'blast_seq.py']
也可以用 os.path.walk, 先定义一个访问文件夹的函数, VisitDir
>>> def VisitDir(arg, dirname, names): ... for filespath in names: ... print os.path.join(dirname, filespath) ... >>> path="." >>> os.path.walk(path, VisitDir, ()) ./meta_rna.sh ./fa ./out ./nohup.out ./log.cpu ./blast_seq.py ./fa/assemblyar_new_2.faa ./out/assemblyar_new_2.faa.coord ./out/assemblyar_new_2.faa.mask ./out/assemblyar_new_2.faa.seq ./out/result_1.xm ./out/result.xml ./out/blast_seq.py >>> os.getcwd() '/home/served_pro/Find_nick' >>> abs_path= os.getcwd() >>> os.path.walk(abs_path, VisitDir, ()) /home/served_pro/Find_nick/meta_rna.sh /home/served_pro/Find_nick/fa /home/served_pro/Find_nick/out /home/served_pro/Find_nick/nohup.out /home/served_pro/Find_nick/log.cpu /home/served_pro/Find_nick/blast_seq.py /home/served_pro/Find_nick/fa/assemblyar_new_2.faa /home/served_pro/Find_nick/out/assemblyar_new_2.faa.coord /home/served_pro/Find_nick/out/assemblyar_new_2.faa.mask /home/served_pro/Find_nick/out/assemblyar_new_2.faa.seq /home/served_pro/Find_nick/out/result_1.xm /home/served_pro/Find_nick/out/result.xml /home/served_pro/Find_nick/out/blast_seq.py
下面给大家介绍python列出文件夹下的所有文件
#方法1:使用os.listdir import os for filename in os.listdir(r'c:\\windows'): print filename #方法2:使用glob模块,可以设置文件过滤 import glob for filename in glob.glob(r'c:\\windows\\*.exe'): print filename #方法3:通过os.path.walk递归遍历,可以访问子文件夹 import os.path def processDirectory ( args, dirname, filenames ): print 'Directory',dirname for filename in filenames: print ' File',filename os.path.walk(r'c:\\windows', processDirectory, None ) #方法4:非递归 import os for dirpath, dirnames, filenames in os.walk('c:\\\\winnt'): print 'Directory', dirpath for filename in filenames: print ' File', filename
另外,判断文件与目录是否存在:
import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果目录不存在就返回False
以上所述是小编给大家介绍的Python列出一个文件夹及其子目录的所有文件,希望对大家有所帮助