Python 是否检查多个目录中具有特定扩展名的文件?

Python 是否检查多个目录中具有特定扩展名的文件?,python,Python,我有这段代码,它可以找到具有该扩展名的文件并将其删除 如何在两个目录中搜索输出和out2 import os out = path out2 = path2 test = os.listdir(out) for item in test: if item.endswith(".cpg"): os.remove(os.path.join(out, item)) 不使用第二个目录再次键入它 注意:所有这些都是for循环的一部分。转到目录级别,如C:/,d:/:在目录级别

我有这段代码,它可以找到具有该扩展名的文件并将其删除

如何在两个目录中搜索<代码>输出和
out2

import os

out = path
out2 = path2

test = os.listdir(out)
for item in test:
    if item.endswith(".cpg"):
        os.remove(os.path.join(out, item))
不使用第二个目录再次键入它


注意:所有这些都是
for
循环的一部分。

转到目录级别,如C:/,d:/:在目录级别for循环遍历所有文件和文件夹,然后在每个文件夹中遍历每个文件和文件夹。您可以使用LinkedList/Array对要扫描的文件夹进行扫描,并逐个扫描它们

您可以将其作为一项功能:

import os

out = path
out2 = path2

directory_search(out)
directory_search(out2)

def directory_search(out):
    test = os.listdir(out)
    for item in test:
        if item.endswith(".cpg"):
            os.remove(os.path.join(out, item))
或者你可以列一个清单,反复浏览:

import os

list_of_out = [path, path2]
for out in list_of_out:
    test = os.listdir(out)
    for item in test:
        if item.endswith(".cpg"):
            os.remove(os.path.join(out, item))
或者我想如果你真的想做一个函数,它包含一个列表:

import os

out = [path, path2]
directory_search(out)

def directory_search(list_of_out):
    for out in list_of_out:
            test = os.listdir(out)
            for item in test:
                if item.endswith(".cpg"):
                    os.remove(os.path.join(out, item))

所以“如何迭代多个值?”?使用列表和for循环。编写函数将其转换为函数并为
out
out2
调用。或者将路径添加到列表中,并在包装当前循环的循环中对其进行迭代。该函数是否使用out2?是。由于您使用不同的
out
调用它两次,请参见
directory\u search(out2)
\n您是否可以添加一个函数,该函数也可以像您所做的示例那样包含任意数量的路径列表?谢谢这是一个尴尬的想法。想象一下,拥有数千个目录的巨大文件系统(10 TB的FS并不例外)。“会很慢的。”亚历克斯·巴拉诺夫斯基,嗯!这将是缓慢的。但是他只有两个目录可以使用,但是,总有一个更好的方法,我对你的答案的理解是“从C:/”开始,然后通过整个分区递归。顺便说一句,负号不是我的:)。