如何在Python中查找一级目录下的特定文件
我有一个稍微复杂一点的目录遍历任务需要完成。我写了一个程序,它需要一个名为SOURCE的目录作为必需的参数。接下来,我需要获取第一层目录的列表,因为我只关心第一层的内容。然后,我要检查这个第一层目录的列表中是否包含一个特定的文件。如果包含,我就想把这个第一层目录添加到一个列表中。到目前为止,我已经做了一些工作来获取第一层目录的列表。现在我不太确定如何在这些目录下查找文件的存在(比如说*.proj这样的文件)。如果你能提供一些帮助,指引我正确的方向,那就太好了!
for name in os.listdir(args.source):
if os.path.isdir(args.source):
self.tempSource.append(os.path.join(args.source, name))
2 个回答
0
你在反复检查源目录是不是一个文件夹。你需要查看这个文件夹里面的东西,看看它们是不是文件夹。同时,你还需要把路径连接起来,因为 listdir
只会返回文件和文件夹的名字。
subpaths = (os.path.join(args.source, name) for name in os.listdir(args.source))
subdirs = list(filter(os.path.isdir, subpaths))