Python中如何遍历指定目录下的所有文件?

例如:在C:\TDDOWNLOAD目录下有a.txt、b.txt两个文件,另有\sub1子文件夹,C:\TDDOWNLOAD\sub1下又有c.txt、d.txt两个文件。

1. os.walk

os.walk()返回一个三元素的tuple:当前路径、子文件夹名称、文件列表。

>>> import os
>>> def fun( path ):
...     for root, dirs, files in os.walk( path ):
...         for fn in files:
...             print root, fn
...    
>>> fun( r‘C:\TDDOWNLOAD‘ )
C:\TDDOWNLOAD a.txt
C:\TDDOWNLOAD b.txt
C:\TDDOWNLOAD\sub1 c.txt
C:\TDDOWNLOAD\sub1 d.txt
>>>

2. glob.glob

glob.glob()只接受一个参数,这个参数既代有路径,又代有匹配模式,返回值为一个列表。注意,glob.glob()无法直接穿透子文件夹,需要自己处理:

>>> def fun( path ):
...     for fn in glob.glob( path + os.sep + ‘*‘ ): # ‘*‘代表匹配所有文件
...         if os.path.isdir( fn ): # 如果结果为文件夹
...             fun( fn ) # 递归
...         else:
...             print fn
...    
>>> fun( r‘C:\TDDOWNLOAD‘ )
C:\TDDOWNLOAD\a.txt
C:\TDDOWNLOAD\b.txt
C:\TDDOWNLOAD\sub1\c.txt
C:\TDDOWNLOAD\sub1\d.txt
>>>

‘*‘为匹配模式,代表匹配所有文件,只有这样才能将子文件夹查出来,以便递归深入,探查下一层的文件。

时间: 2024-10-06 13:52:18

Python中如何遍历指定目录下的所有文件?的相关文章

perl 遍历指定目录下的所有文件,替换指定文本内容,返回受影响的文件路径

不会读取 影藏文件 main #!/usr/bin/perl my ($path, $rp) = @ARGV; sub search_file{ my ($fname, $rp) = @_; # 获取操作文件名 和 查询的正则 my ($o) = split("/", $rp); open(of, "<$fname") or die "$fname 文件打开失败!$!"; while(<of>){ chomp; if($_ =~

C#遍历指定目录下的所有文件及文件夹

// DirectoryInfo di = new DirectoryInfo(@"E:\Messages"); // FindFile(di); static void FindFile(DirectoryInfo di) { FileInfo[] fis = di.GetFiles(); for (int i = 0; i < fis.Length; i++) { Console.WriteLine("文件:" + fis[i].FullName); }

golang filepath.Walk遍历指定目录下的所有文件

package main import ( "fmt" "os" "path/filepath" ) func walkFunc(path string, info os.FileInfo, err error) error { fmt.Printf("%s\n", path) return nil } func main() { //遍历打印所有的文件名 filepath.Walk("C:/Documents an

Linux下如何遍历指定目录下的所有文件并删除指定天数之前创建的文件

脚本内容如下: #!/bin/bash function delete_file { dir=$1 days=$[$2-1] for i in `find $dir -type f -ctime +$days` do rm -rf $i done } while read line do dir=`echo $line

Windows Phone获得IsolatedStorage中指定目录下的所有文件

在Windows Phone 中对隔离存储空间中的文件操作需要通过System.Io.IsolatedStorage下的类进行操作 获得指定文件夹下的所有文件: 参数:是指定文件夹的路径加上通配符,格式:\folder1\* List<string> GetFileNames(string _strFolder) { List<string> returnlst = new List<string>(); using (IsolatedStorageFile stora

linux复制指定目录下的全部文件到另一个目录中

linux复制指定目录下的全部文件到另一个目录中复制指定目录下的全部文件到另一个目录中文件及目录的复制是经常要用到的.linux下进行复制的命令为cp.假设复制源目录 为 dir1 ,目标目录为dir2.怎样才能将dir1下所有文件复制到dir2下了如果dir2目录不存在,则可以直接使用cp -r dir1 dir2即可.如果dir2目录已存在,则需要使用cp -r dir1/. dir2如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求.ps:di

PHP遍历指定目录下的文件以及文件夹

这个东西在网上找了很久才找到..但是关于去除.和..烦有点不懂额..于是就把那个判断去掉了,改成了str_replace的形式. <?php//定义变量 $n1=array(".",".."); $n2=array("",""); //定义要打开的目录为 upload $dir = "upload/"; //打开目录并遍历所有文件及去除个别文件夹 if (is_dir($dir)) { if ($dh

python之查询指定目录下的最新文件

使用os模块查询指定目录下的最新文件 1 import os 2 3 # 输入目录路径,输出最新文件完整路径 4 def find_new_file(dir): 5 '''查找目录下最新的文件''' 6 file_lists = os.listdir(dir) 7 file_lists.sort(key=lambda fn: os.path.getmtime(dir + "\\" + fn) 8 if not os.path.isdir(dir + "\\" + f

c# 获取指定目录下的所有文件并显示在网页上

参考文献: FileInfo 的使用  https://msdn.microsoft.com/zh-cn/library/system.io.fileinfo_methods(v=vs.110).aspx 网页表格的生成  http://www.w3school.com.cn/html/html_tables.asp C# 通过文件扩展名获取图标和描述 http://www.csframework.com/archive/2/arc-2-20110514-1478.htm   http://ww