如何获取不同目录中的所有文件名?

2024-06-24 12:58:57 发布

您现在位置:Python中文网/ 问答频道 /正文

假设目录层次结构如下所示:

          A(root)
          |
B---------C--------D
|         |        |
fileB.h  fileC.png  fileD.py
         fileC1.jpg
          E
          |
         fileE.py

如何访问所有文档?或者直接找到路。有没有办法把所有的东西都吃光?在

我的工作:

^{pr2}$

但是我知道listdir只能访问程序py文件所在的目录。在


Tags: 文档py目录层次结构pngrootlistdirjpg
1条回答
网友
1楼 · 发布于 2024-06-24 12:58:57

这只给出目录下的dir和文件,而不是递归的:

import os

for filename in os.listdir(path):
    print filename

如果要列出绝对路径:

^{pr2}$

如果您希望恢复搜索,这将为您提供一个迭代器,该迭代器将在每次迭代中返回3元组,包括父目录、目录列表和文件列表:

for i,j,k in os.walk('.'):
    print i, j, k

例如:

    import os

    path = sys.path[0]

    for dirname, dirnames, filenames in os.walk(path):
        for subdirname in dirnames:
            print "FOUND DIRECTORY: ", os.path.join(dirname, subdirname)
        for filename in filenames:
            print "FOUND FILE: ", os.path.join(dirname, filename)

相关问题 更多 >