Python:如何检查文件夹中的文件夹?
Python:如何检查文件夹中的文件夹?
这个问题已经有答案了:
首先,如果标题不清晰,我向您道歉。
为了简化我在工作中要处理的任务,我开始编写此脚本以自动从特定路径中删除文件。
我的问题是,目前这个脚本不检查由路径提供的文件夹中的文件内容。
我不确定如何解决这个问题,因为据我所知,它应该检查这些文件?
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()
admin 更改状态以发布 2023年5月24日
目前,你的代码只是循环遍历提供的文件夹中的所有文件和文件夹,并检查每个文件的名称。为了还要检查路径内文件夹的内容,你需要使你的代码具有递归性。
你可以使用os.walk来遍历路径中的目录树,然后检查其内容。
你可以在Python递归子文件夹搜索并返回文件列表中找到更详细的答案和代码示例。
使用os.walk
遍历目录树,就像这样:
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)))
这里是文档(底部有一些使用示例):https://docs.python.org/3/library/os.html#os.walk