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 返回汉字的汉语拼音
Feb 27 Python
python socket 超时设置 errno 10054
Jul 01 Python
Django静态资源URL STATIC_ROOT的配置方法
Nov 08 Python
python获得一个月有多少天的方法
Jun 04 Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 Python
python框架Django实战商城项目之工程搭建过程图文详解
Mar 09 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
Matplotlib 折线图plot()所有用法详解
Jul 28 Python
Python基于Socket实现简易多人聊天室的示例代码
Nov 29 Python
python 统计代码耗时的几种方法分享
Apr 02 Python
Python序列化与反序列化相关知识总结
Jun 08 Python
详解Python内置模块Collections
Mar 22 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 5.3新增魔术方法__invoke概述
2014/07/23 PHP
PHP 快速排序算法详解
2014/11/10 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
js 替换
2008/02/19 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
浅析JavaScript动画
2015/06/10 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
vue.js 获取当前自定义属性值
2017/06/01 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
在Python中使用AOP实现Redis缓存示例
2017/07/11 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
python with (as)语句实例详解
2020/02/04 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
UDP协议功能
2013/01/06 面试题
音乐学个人的自荐书范文
2013/11/26 职场文书
旅游项目开发策划书
2014/01/18 职场文书
早会主持词
2014/03/17 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
党风廉正建设责任书
2015/01/29 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
导游词之沈阳植物园
2019/11/30 职场文书