在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”的目录。