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 18 Python
python正则匹配抓取豆瓣电影链接和评论代码分享
Dec 27 Python
python调用cmd命令行制作刷博器
Jan 13 Python
Python+OpenCV让电脑帮你玩微信跳一跳
Jan 04 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
Python数据可视化之画图
Jan 15 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 Python
pytorch使用指定GPU训练的实例
Aug 19 Python
pandas的相关系数与协方差实例
Dec 27 Python
django 利用Q对象与F对象进行查询的实现
May 15 Python
详解python安装matplotlib库三种失败情况
Jul 28 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
cmd下运行php脚本
2008/11/25 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
PHP采集利器 Snoopy 试用心得
2011/07/03 PHP
php空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
Bootstrap表单布局
2016/07/19 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
2020/08/18 Javascript
Python smallseg分词用法实例分析
2015/05/28 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
解决Django中调用keras的模型出现的问题
2019/08/07 Python
vue实现倒计时功能
2021/03/24 Vue.js
消防安全标语
2014/06/07 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
python爬取某网站原图作为壁纸
2021/06/02 Python
redis实现的四种常见限流策略
2021/06/18 Redis
MySQL系列之十二 备份与恢复
2021/07/02 MySQL
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB