在Python中寻找类似于Java的文件遍历函数


问题内容

在Java中,您可以执行File.listFiles()和接收目录中的所有文件。然后,您可以轻松地通过目录树进行递归。

在Python中有类似的方法吗?


问题答案:

就在这里。Python方式更好。

有三种可能性:

1)像File.listFiles()一样:

Python具有函数os.listdir(path)。它的工作方式类似于Java方法。

2)使用glob扩展路径名模式:

模块glob包含使用Unix shell(例如模式)在文件系统上列出文件的功能,例如 ``

files = glob.glob('/usr/joe/*.gif')

3)遍历文件遍历:

Python的os.walk函数确实很棒。

walk方法返回一个生成函数,该函数递归列出给定起始路径下的所有目录和文件。

一个例子: ``

import os
from os.path import join
for root, dirs, files in os.walk('/usr'):
   print "Current directory", root
   print "Sub directories", dirs
   print "Files", files

您甚至可以随时从“目录”中删除目录以避免进入该目录:如果dirs中的“ joe”为:dirs.remove(“ joe”)避免进入名为“ joe”的目录。

listdir和walk在此处记录。glob记录在这里