python怎么打开文件夹,遍历子文件夹,依次打开子文件夹,遍历子文件夹中的文件,若子文件夹中还有文件夹,重复以上操作,直至获取所有文件。然后按照rename列表,对获取的文件依次进行重命名
时间: 2024-11-27 15:20:55 浏览: 1
Python删除空文件和空文件夹的方法
在Python中,你可以使用`os`和`shutil`模块来实现这个功能。下面是一个简单的例子,展示如何递归地遍历文件夹及其子文件夹,查找并重命名文件:
```python
import os
import shutil
# 假设你有一个初始目录和一个重命名列表
base_dir = '/path/to/your/root/directory'
rename_list = {'old_name.txt': 'new_name.txt', ...} # 根据需要修改这里
def rename_files_recursively(directory):
for item in os.listdir(directory):
full_path = os.path.join(directory, item)
if os.path.isfile(full_path): # 检查是否是文件
old_file_name, new_file_name = rename_list.get(item, (item,)) # 获取新的文件名
if old_file_name != new_file_name:
print(f"Renaming {full_path} to {new_file_name}")
shutil.move(full_path, os.path.join(directory, new_file_name))
elif os.path.isdir(full_path): # 如果是子文件夹
rename_files_recursively(full_path)
# 开始遍历和重命名
rename_files_recursively(base_dir)
```
这段代码首先会列出给定根目录下的所有项目(包括文件和子目录),然后逐个处理。如果是文件,它会在`rename_list`中有对应的映射时尝试重命名;如果遇到子目录,就递归地调用自身。注意,实际运行时可能会有权限问题,确保你有足够的权限访问和更改文件。
阅读全文