Python列出一个文件夹及其子目录的所有文件

 更新时间:2016年06月30日 11:44:53   转载 作者:qizok  
这篇文章主要介绍了Python列出一个文件夹及其子目录的所有文件的方法,和python列出文件夹下的所有文件的四种方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

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列出一个文件夹及其子目录的所有文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Python中条件选择和循环语句使用方法介绍

    Python中条件选择和循环语句使用方法介绍

    Python中也存在条件选择和循环语句,其风格和C语言、java的很类似,不过在书写语法上还是存在一些区别的,接下来同大家一起了解下,希望可以帮助你更好的学习python,感兴趣的你可不要错过了哈
    2013-03-03
  • python使用7z解压软件备份文件脚本分享

    python使用7z解压软件备份文件脚本分享

    这篇文章主要介绍了python使用7z解压软件备份文件脚本,需要的朋友可以参考下
    2014-02-02
  • Python之循环结构

    Python之循环结构

    今天小编就为大家分享一篇关于Python之循环结构,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • python输出第n个默尼森数的实现示例

    python输出第n个默尼森数的实现示例

    这篇文章主要介绍了python输出第n个默尼森数的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Python实现性能自动化测试竟然如此简单

    Python实现性能自动化测试竟然如此简单

    这篇文章主要介绍了Python实现性能自动化测试的方法,本文图文并茂通过实例代码相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • 对Python3.6 IDLE常用快捷键介绍

    对Python3.6 IDLE常用快捷键介绍

    今天小编就为大家分享一篇对Python3.6 IDLE常用快捷键介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python调用adb命令实现对多台设备同时进行reboot的方法

    Python调用adb命令实现对多台设备同时进行reboot的方法

    今天小编就为大家分享一篇Python调用adb命令实现对多台设备同时进行reboot的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python3中列表list合并的四种方法

    Python3中列表list合并的四种方法

    这篇文章主要介绍了Python3中列表list合并的四种方法,文章结尾对每种方法做了总结,需要的朋友可以参考下
    2019-04-04
  • Pyinstaller打包.py生成.exe的方法和报错总结

    Pyinstaller打包.py生成.exe的方法和报错总结

    今天小编就为大家分享一篇关于Pyinstaller打包.py生成.exe的方法和报错总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Numpy与Pytorch 矩阵操作方式

    Numpy与Pytorch 矩阵操作方式

    今天小编就为大家分享一篇Numpy与Pytorch 矩阵操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论