Python:如何只获取目录中的第一个文件名

时间:2015-02-12 20:26:57

标签: python path filenames

我有各种目录的路径。现在我想查看每个目录中第一个文件的标题信息。

例如:path = "Users/SDB/case_23/scan_1"

现在在子目录scan_1中我想查看一些标题信息。为此,如何在子目录中获取第一个文件的完整路径和名称(按名称)?

1 个答案:

答案 0 :(得分:3)

os.walk

  

os.walk(top, topdown=True, onerror=None, followlinks=False)   通过从上到下或从下到上遍历树来生成目录树中的文件名。对于以目录顶部(包括顶部本身)为根的树中的每个目录,它产生一个3元组(dirpath, dirnames, filenames)。   ...

示例

dirs结构

$ tree -d
.
└── users
    └── sdb
        └── case_23
            └── scan_1

dirs +文件结构

$ tree
.
├── a.txt
├── b.txt
├── c.txt
└── users
    ├── a.txt
    ├── b.txt
    ├── c.txt
    └── sdb
        ├── a.txt
        ├── b.txt
        ├── c.txt
        └── case_23
            ├── d.txt
            ├── e.txt
            ├── f.txt
            └── scan_1
                ├── a.txt
                ├── b.txt
                └── c.txt

python代码

>>> import os
>>> rootdir = '/tmp/so'
>>> # print full path for first file in rootdir and for each subdir
... for topdir, dirs, files in os.walk(rootdir):
...     firstfile = sorted(files)[0]
...     print os.path.join(topdir, firstfile)
... 
/tmp/so/a.txt
/tmp/so/users/a.txt
/tmp/so/users/sdb/a.txt
/tmp/so/users/sdb/case_23/d.txt
/tmp/so/users/sdb/case_23/scan_1/a.txt