2024-05-16 06:42:08 发布
网友
使用python获取文件夹中文件的完整递归列表的最简单方法是什么?我知道os.walk(),但是仅仅获取所有文件的未筛选列表似乎有点过头了。这真的是唯一的选择吗?
os.walk()
还可以使用Python中的find程序本身,方法是使用sh
find
import sh text_files = sh.find(".", "-iname", "*.txt")
os.walk()无论如何都不过分。它可以立即生成您的文件和目录列表:
files = [os.path.join(dirpath, filename) for (dirpath, dirs, files) in os.walk('.') for filename in (dirs + files)]
你可以把它变成一个生成器,一次只处理一条路径,并且在内存上是安全的。
没有什么能阻止你创建自己的函数:
import os def listfiles(folder): for root, folders, files in os.walk(folder): for filename in folders + files: yield os.path.join(root, filename)
你可以这样使用它:
for filename in listfiles('/etc/'): print filename
还可以使用Python中的
find
程序本身,方法是使用shos.walk()
无论如何都不过分。它可以立即生成您的文件和目录列表:你可以把它变成一个生成器,一次只处理一条路径,并且在内存上是安全的。
没有什么能阻止你创建自己的函数:
你可以这样使用它:
相关问题 更多 >
编程相关推荐