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


Posted in Python onJune 30, 2016

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实现socket端口重定向示例
Feb 10 Python
python实现定时播放mp3
Mar 29 Python
python生成验证码图片代码分享
Jan 28 Python
Python书单 不将就
Jul 11 Python
Python3数字求和的实例
Feb 19 Python
Django 迁移、操作数据库的方法
Aug 02 Python
python lambda表达式在sort函数中的使用详解
Aug 28 Python
Python笔记之facade模式
Nov 20 Python
解决Jupyter无法导入已安装的 module问题
Apr 17 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
Python极值整数的边界探讨分析
Sep 15 Python
django之常用命令详解
Jun 30 #Python
全面了解Python环境配置及项目建立
Jun 30 #Python
浅谈Python 集合(set)类型的操作——并交差
Jun 30 #Python
python dict.get()和dict['key']的区别详解
Jun 30 #Python
python中set常用操作汇总
Jun 30 #Python
浅谈python中set使用
Jun 30 #Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
Jun 30 #Python
You might like
在线竞拍系统的PHP实现框架(二)
2006/10/09 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
PHP防止表单重复提交的几种常用方法汇总
2014/08/19 PHP
JQuery模板插件 jquery.tmpl 动态ajax扩展
2011/11/10 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
Vue+axios实现统一接口管理的方法
2018/07/23 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
vue element upload实现图片本地预览
2019/08/20 Javascript
解决layui的table插件无法多层级获取json数据的问题
2019/09/19 Javascript
Vue 设置axios请求格式为form-data的操作步骤
2019/10/29 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
下载糗事百科的内容_python版
2008/12/07 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
python标准库OS模块详解
2020/03/10 Python
Django静态文件加载失败解决方案
2020/08/26 Python
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
工程师求职简历的自我评价分享
2013/10/10 职场文书
xxx同志考察材料
2014/02/07 职场文书
优秀学生获奖感言
2014/02/15 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
安全保证书
2015/01/16 职场文书
2015年乡镇民政工作总结
2015/05/13 职场文书