繁体   English   中英

如何在Python的一级目录中查找特定文件

[英]How to look for a specific file in first level directories in Python

我需要执行一个半复杂的目录遍历。 我有一个编写的程序,该程序将需要SOURCE目录作为必需参数。 然后,我需要获取FIRST LEVEL目录的列表,因为我实际上只关心第一级。 然后,我需要获取FIRST LEVEL目录的列表,并查看其中是否包含特定文件。 如果是这样,我想将该第一级目录添加到列表中。 因此,我已经完成了以下操作,以获取第一级来源的列表。 我只是不确定如何查找这些目录中的每个目录以查找文件的存在。 (类似于* .proj)。 您能提供的任何帮助都将为我指明正确的方向!

 for name in os.listdir(args.source):
        if os.path.isdir(args.source):
            self.tempSource.append(os.path.join(args.source, name))

您可以使用glob搜索文件:

import glob
import os
files = []
for name in os.listdir(args.source):
    if os.path.isdir(name):
        files.append(glob.glob(os.path.join(args.source, name + "/*.proj"))) # match any files ending with .proj

*.proj使用通配符,它​​将匹配以扩展名.proj结尾的任何文件。 这里还有另一个简短的教程:

您正在反复检查源目录是否是目录。 您需要检查该目录中的项目以查看它们是否为目录。 您还需要加入路径,因为listdir仅返回名称。

subpaths = (os.path.join(args.source, name) for name in os.listdir(args.source))
subdirs = list(filter(os.path.isdir, subpaths))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM