Python列出一个文件夹及其子目录的所有文件
python简介
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。
像Perl语言一样,Python源代码同样遵循GPL(GNUGeneralPublicLicense)协议。
>>>importos
>>>foriinos.walk("."):
...printi[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
>>>defVisitDir(arg,dirname,names): ...forfilespathinnames: ...printos.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
importos
forfilenameinos.listdir(r'c:\\windows'):
printfilename
#方法2:使用glob模块,可以设置文件过滤
importglob
forfilenameinglob.glob(r'c:\\windows\\*.exe'):
printfilename
#方法3:通过os.path.walk递归遍历,可以访问子文件夹
importos.path
defprocessDirectory(args,dirname,filenames):
print'Directory',dirname
forfilenameinfilenames:
print'File',filename
os.path.walk(r'c:\\windows',processDirectory,None)
#方法4:非递归
importos
fordirpath,dirnames,filenamesinos.walk('c:\\\\winnt'):
print'Directory',dirpath
forfilenameinfilenames:
print'File',filename
另外,判断文件与目录是否存在:
importos
os.path.isfile('test.txt')#如果不存在就返回False
os.path.exists(directory)#如果目录不存在就返回False
以上所述是小编给大家介绍的Python列出一个文件夹及其子目录的所有文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!