#自定义函数:

import os
path="D:\\Temp_del\\a"
def gci (path):
"""this is a statement"""
parents = os.listdir(path)
for parent in parents:
child = os.path.join(path,parent)
#print(child)
if os.path.isdir(child):
gci(child)
# print(child)
else:
print(child)

gci(path)

print(gci.__doc__)  #显示函数声明部分内容

def function_name(param):
""""""this is a statement.""""""
可以使用函数的属性__doc__来返回该声明,如print(function_name.__doc__)

#使用os.walk方法遍历:

import os
path="D:\\Temp_del\\a"
for i in os.walk(path):
print(i)

返回结果:

('D:\\Temp_del\\a', ['AFA', 'x64'], ['AudioFilterAgent.INI', 'Setup.exe'])
('D:\\Temp_del\\a\\AFA', ['222'], ['CAudioFilterAgent.exe', 'CAudioFilterAgent64.exe'])
('D:\\Temp_del\\a\\AFA\\222', [], ['新建日记本文档 - 副本.jnt', '新建日记本文档.jnt'])
('D:\\Temp_del\\a\\x64', ['bbb'], ['AudioFilterAgent.INI', 'setup64.exe'])
('D:\\Temp_del\\a\\x64\\bbb', [], ['CAudioFilterAgent.exe', 'CAudioFilterAgent64.exe'])

返回结果说明:

返回的是一个三元tupple(dirpath, dirnames, filenames),
其中第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件.
dirpath是一个string,代表目录的路径,
dirnames是一个list,包含了dirpath下所有子目录的名字,
filenames是一个list,包含了非目录文件的名字.这些名字不包含路径信息,如果需要得到全路径,需要使用 os.path.join(dirpath, name).

=====================

方法一:os.listdir

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
def gci(filepath):
#遍历filepath下所有文件,包括子目录
files = os.listdir(filepath)
for fi in files:
fi_d = os.path.join(filepath,fi)
if os.path.isdir(fi_d):
gci(fi_d)
else:
print os.path.join(filepath,fi_d) #递归遍历/root目录下所有文件
gci('/root')

方法二:os.walk

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
for fpathe,dirs,fs in os.walk('/root'):
for f in fs:
print os.path.join(fpathe,f)

列出所有文件:

[i for i in os.listdir('.') if os.path.isdir(i)]
列出所有.py文件
[i for i in os.listdir('.') if os.path.isfile(i) and os.path.splitext(i)[1]=
='.py']

Python递归遍历目录下所有文件的更多相关文章

  1. (实用篇)PHP不用递归遍历目录下所有文件的代码

    <?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ fu ...

  2. python递归获取目录下指定文件

    获取一个目录下所有指定格式的文件是实际生产中常见需求. import os #递归获取一个目录下所有的指定格式的文件 def get_jsonfile(path,file_list): dir_lis ...

  3. Python遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例

    遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例: #-*- encoding: utf-8 -*- __author__ = 'liudong' import linecache,sys ...

  4. Java精选笔记_IO流【File(文件)类、遍历目录下的文件、删除文件及目录】

    File(文件)类 File类用于封装一个路径,该路径可以是从系统盘符开始的绝对路径,也可以是相对于当前目录而言的相对路径 File类内部封装的路径可以指向一个文件,也可以指向一个目录,在使用File ...

  5. Java递归列出目录下全部文件

    Java递归列出目录下全部文件 /** * 列出指定目录的全部内容 * */ import java.io.*; class hello{ public static void main(String ...

  6. python实现指定目录下批量文件的单词计数:并发版本

    在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 - ...

  7. Linux和Windows的遍历目录下所有文件的方法对比

    首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...

  8. PHP遍历目录下的文件夹和文件 以及遍历文件下内容

    1.遍历目录下的文件夹和文件: public function bianli1($dir) { $files = array(); if($head = opendir($dir)) { while( ...

  9. IO流-递归遍历目录下指定后缀名结尾的文件名称

    /* *自定义遍历目录下指定后缀名结尾文件的名称的方法: * * param file:指定目录 name:指定后缀名 */ 1 public static void FileName(File fi ...

随机推荐

  1. Nagios 邮箱告警的方式太OUT了!

    一般来讲,在安装完 Nagios 后,我们做的第一件最正确的事,就是设置它的邮件通知,对吧.因为如果没有这一步骤的话,你怎么能够知道什么时候会出现问题呢? 伴随着成功的初始安装,你即将是你司唯一一个能 ...

  2. *[codility]ArrayInversionCount

    http://codility.com/demo/take-sample-test/arrayinversioncount 求逆序对数,归并排序并记录逆序次数. // you can also use ...

  3. [OJ] Data Stream Median (Hard)

    LintCode 81. Data Stream Median (Hard) 思路: 用一个大根堆保存较小的一半数, 一个小根堆保存较大的一半数. 每次根据num和两个堆顶的数据决定往哪个堆里面放. ...

  4. VC C运行时库(CRTL)的几个版本及选用

    分类: Windows 2008-12-23 10:01 987人阅读 评论(0) 收藏 举报ciostreammfclibrary多线程import最近做项目碰到了一个关于在动态库中使用MFC以及在 ...

  5. 阿里巴巴SUI Mobile的使用

    1.引入文件 <link rel="stylesheet" href="./css/sm.min.css"> <link rel=" ...

  6. 理解Java ClassLoader机制

    当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构: bootstrap classloader                |       extension cla ...

  7. Dell笔记本禁用触摸板的方法

    一·找到触摸板驱动所在的文件夹(其他型号 的本本,请自己探索一下,找到驱动在哪就行),一般 在 C:\program files\delltpad 中(若没有请下载安 装 ),如图: 二·双击 Del ...

  8. 18款 非常实用 jquery幻灯片图片切换

    1.jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动 jquery图片特效制作仿腾讯QQ商城首页banner焦点图片轮播切换效果,带索引按钮控制和左右按钮控制图片切换. 查看演示>& ...

  9. 惊人事实 z

  10. RegisterFunction z

    #region SolidWorks Registration [ComRegisterFunctionAttribute] public static void RegisterFunction(T ...