用python遍历所有文件夹及文件,删除带有autosave或者crashreport的文件
时间: 2023-07-04 15:21:55 浏览: 152
好的,这是一个比较常见的文件处理任务,可以使用Python中的os和shutil模块来实现。以下是一个示例代码,可以遍历指定目录及其子目录下的所有文件和文件夹,找到名称包含"autosave"或"crashreport"的文件并删除它们。
```python
import os
import shutil
def delete_files_with_keywords(root_dir, keywords):
for dirpath, dirnames, filenames in os.walk(root_dir):
for filename in filenames:
for keyword in keywords:
if keyword in filename:
file_path = os.path.join(dirpath, filename)
os.remove(file_path)
print(f"Deleted file: {file_path}")
if __name__ == "__main__":
root_dir = "/path/to/root"
keywords = ["autosave", "crashreport"]
delete_files_with_keywords(root_dir, keywords)
```
在代码中,我们定义了一个名为`delete_files_with_keywords`的函数,它接受两个参数:`root_dir`表示要遍历的根目录,`keywords`是一个包含要匹配的关键字的列表。
我们使用os.walk函数来遍历所有的子目录和文件,然后在每个文件名中搜索关键字。如果找到匹配的关键字,我们就使用os.remove函数删除该文件,并打印一条消息表示文件已被删除。
最后,在主程序中,我们设置了root_dir和keywords变量,并调用delete_files_with_keywords函数来执行任务。
希望这可以回答你的问题!
阅读全文