Python:如何检查文件夹中的文件夹?

时间:2018-08-17 13:12:56

标签: python python-3.x path directory

首先,如果标题不清楚,我要道歉。

为了简化我在工作中要做的任务,我已经开始编写此脚本以自动从特定路径中删除文件。

我的问题是,在当前状态下,此脚本不会检查路径所提供的文件夹中 内文件夹的内容。

我不确定如何解决此问题,因为据我所知,应该正在检查那些文件?

import os


def depdelete(path):
    for f in os.listdir(path):
        if f.endswith('.exe'):
            os.remove(os.path.join(path, f))
            print('Dep Files have been deleted.')
        else:
            print('No Dep Files Present.')


def DepInput():
    print('Hello, Welcome to DepDelete!')
    print('What is the path?')
    path = input()
    depdelete(path)


DepInput()

4 个答案:

答案 0 :(得分:4)

尝试使用def depdelete(path): for root, _, file_list in os.walk(path): print("In directory {}".format(root)) for file_name in file_list: if file_name.endswith(".exe"): os.remove(os.path.join(root, file_name)) print("Deleted {}".format(os.path.join(root, file_name))) 遍历目录树,如下所示:

<div class="main-chart" ng-switch="barChatShow">
    <nvd3 options="optionsArea" data="dataArea" ng-switch-when="areaShow"></nvd3>
</div>

以下是文档(底部有一些用法示例):https://docs.python.org/3/library/os.html#os.walk

答案 1 :(得分:1)

当前,您的代码仅循环遍历提供的文件夹中的所有文件和文件夹,并检查每个文件和文件夹的名称。为了还检查路径中文件夹的内容,必须使代码递归。

您可以使用os.walk在path中浏览目录树,然后检查其内容。

您可以在Recursive sub folder search and return files in a list python上找到包含代码示例的更详细的答案。

答案 2 :(得分:1)

看看os.walk()

此功能将为您遍历子目录。循环看起来像这样。

for subdir, dirs, files in os.walk(path):
    for f in files:   
      if f.endswith('.exe'):
          fullFile = os.path.join(subdir, f)
          os.remove(fullFile)
          print (fullFile + " was deleted")

答案 3 :(得分:1)

您正在寻找ret。就您而言,它可以像这样工作:

os.walk()

另请参阅:List directory tree structure in python?