Python递归遍历目录下所有文件
#自定义函数:
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递归遍历目录下所有文件的更多相关文章
- (实用篇)PHP不用递归遍历目录下所有文件的代码
<?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ fu ...
- python递归获取目录下指定文件
获取一个目录下所有指定格式的文件是实际生产中常见需求. import os #递归获取一个目录下所有的指定格式的文件 def get_jsonfile(path,file_list): dir_lis ...
- Python遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例
遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例: #-*- encoding: utf-8 -*- __author__ = 'liudong' import linecache,sys ...
- Java精选笔记_IO流【File(文件)类、遍历目录下的文件、删除文件及目录】
File(文件)类 File类用于封装一个路径,该路径可以是从系统盘符开始的绝对路径,也可以是相对于当前目录而言的相对路径 File类内部封装的路径可以指向一个文件,也可以指向一个目录,在使用File ...
- Java递归列出目录下全部文件
Java递归列出目录下全部文件 /** * 列出指定目录的全部内容 * */ import java.io.*; class hello{ public static void main(String ...
- python实现指定目录下批量文件的单词计数:并发版本
在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 - ...
- Linux和Windows的遍历目录下所有文件的方法对比
首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...
- PHP遍历目录下的文件夹和文件 以及遍历文件下内容
1.遍历目录下的文件夹和文件: public function bianli1($dir) { $files = array(); if($head = opendir($dir)) { while( ...
- IO流-递归遍历目录下指定后缀名结尾的文件名称
/* *自定义遍历目录下指定后缀名结尾文件的名称的方法: * * param file:指定目录 name:指定后缀名 */ 1 public static void FileName(File fi ...
随机推荐
- codeforces 388B Fox and Minimal path
这个题目的突破口就是固定最短长度,然后以二进制的形式分层: 最后把需要的曾连起来: #include<cstdio> #include<cstring> #define max ...
- Ubuntu下将Sublime Text设置为默认编辑器
转自将Sublime Text 2设置为默认编辑器 修改defaults.list 编辑/etc/gnome/default.list文件,将其中的所有gedit.desktop替换为sublime_ ...
- UVA 125 Numbering Paths
题目大意:给定n条单向边,求图中任意两点的连通路径的数目.其中点是从0-输入中出现的最大的点. 可以用floyd-warshall算法或者dfs. for(int k = 0; k < n; k ...
- android 设备唯一码的获取,Cpu号,Mac地址
开发Android应用中,我们常常需要设备的唯一码来确定客户端. Android 中的几中方法,使用中常常不可靠 1. DEVICE_ID 假设我们确实需要用到真实设备的标识,可能就需要用到DEVIC ...
- Little-endian的一个好处:在变量指针转换的时候地址保持不变
Big-endian 的内存顺序和数字的书写顺序是一致的,方便阅读理解.Little-endian 在变量指针转换的时候地址保持不变,比如 int64* 转到 int32* 各有利弊,统一就好,目前看 ...
- 《ArcGIS Engine+C#实例开发教程》
原文:<ArcGIS Engine+C#实例开发教程> 摘要:<ArcGIS Engine+C#实例开发教程>,面向 ArcGIS Engine(以下简称AE)开发初学者,本教 ...
- 对于Unicode编码在js中和html中
1.对于Unicode在js中 var a="\u9102WQW121" 中"\"是需要转义的,直接在页面输出的效果
- PHP FTP上传文件
第一步:建立一个新的 FTP 连接. ftp_connect(host,port,timeout); host必需,规定要连接的 FTP 服务器,可以是域名或 IP 地址,后面不应以斜线结 ...
- apache开源项目--thrift
Thrift 是一个软件框架(远程过程调用框架),用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引 擎,以构建在 C++, Java, Python, PHP, Ruby, ...
- IIS7配置https
To Install an SSL Certificate in Microsoft IIS 7 Click Start, mouse-over Administrative Tools, and t ...