首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取目录python中文件的所有路径

获取目录python中文件的所有路径
EN

Stack Overflow用户
提问于 2012-12-08 13:41:51
回答 2查看 817关注 0票数 0

我正在尝试检索具有特定扩展名的文件夹中的所有文件。但问题是我不知道里面可以有多少子目录..

所以基本上是这样的:

代码语言:javascript
复制
                   ------ filex.py
       ---folder1               -------- filezs.py
root             ------- folder2
       --- file.py              ----- fileabc.py
       --- file.txt

诸若此类

所以基本上我想写一个函数来做下面的事情:

代码语言:javascript
复制
 def get_files(root,files_of_type):
  return dict{key = file_name: value = path}

例如,如果我想获取所有文件及其扩展名py的路径

然后,这将类似于:

代码语言:javascript
复制
  root = "/path/to/root"
  files_of_type = [".py"]

 returns  {"filex.py": "/path/to/root/folder1".. and so on}

有什么建议,谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-08 13:49:50

你可以用os.walk做到这一点。对于每一级目录,它将为您提供目录路径、所有子目录名称的列表以及该目录中的任何文件名的列表。在那里,您可以组装字典以返回。

票数 2
EN

Stack Overflow用户

发布于 2012-12-08 13:57:37

代码语言:javascript
复制
import os

def get_files(root, files_of_type):
    rv = {}

    for cwd, folders, files in os.walk(root):
        for fname in files:
            # os.path.splitext splits a filename into a tuple like so:
            # (file_path, extension)
            if os.path.splitext(fname)[1] in files_of_type:
                # key = filename, value = directory of file
                rv[fname] = cwd 

    return rv
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13774872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档