python遍历所有的文件夹
时间: 2024-09-12 11:13:24 浏览: 38
在Python中,你可以使用os模块和递归函数来遍历目录树,包括所有子文件夹。这里有一个基本的例子:
```python
import os
def traverse_directory(root_dir):
for root, dirs, files in os.walk(root_dir): # os.walk()会生成当前目录、子目录列表和文件列表
print(f"当前目录: {root}")
for d in dirs: # 遍历子目录
print(f"\t{d} (directory)")
for f in files: # 遍历文件
print(f"\t{f} (file)")
# 使用方法
traverse_directory("/path/to/start/directory")
```
这个`os.walk()`函数从指定的根目录开始,递归地访问每个子目录,并返回一个三元组`(dirpath, dirnames, filenames)`,分别代表当前目录路径、子目录名列表和文件名列表。
相关问题
用python遍历所有文件夹及文件,删除带有指定字符的文件
可以使用Python的os和os.path模块来遍历文件夹和文件,使用os.remove()函数来删除指定文件。
下面是一个示例代码,删除当前目录及其子目录下所有文件名中包含指定字符的文件:
```python
import os
# 指定要删除的字符串
target_str = "target"
# 递归遍历目录及其子目录
for root, dirs, files in os.walk("."):
for name in files:
# 判断文件名是否包含指定字符串
if target_str in name:
# 删除文件
os.remove(os.path.join(root, name))
```
需要注意的是,这段代码会直接删除文件,建议在操作前先备份数据,以防误删。
用python遍历所有文件夹及文件,删除带有autosave或者crashreport的文件
好的,这是一个比较常见的文件处理任务,可以使用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函数来执行任务。
希望这可以回答你的问题!
阅读全文