python代码怎么在源文件夹里遍历每个子目录文件夹,并在每个子目录文件夹里创建新的文件夹,并将其中的文件移动至新的文件夹下
时间: 2024-12-22 18:29:20 浏览: 11
在Python中,你可以使用`os`和`shutil`这两个内置模块来遍历目录结构、创建新目录以及移动文件。下面是一个示例代码,它会在给定的源目录及其所有子目录下创建新的子目录,并将子目录内的文件移动到新创建的子目录中:
```python
import os
import shutil
def move_files_to_new_subfolders(src_dir):
# 创建目标目录
target_dir = os.path.join(src_dir, "new_subdir")
if not os.path.exists(target_dir):
os.makedirs(target_dir)
# 遍历源目录及其子目录
for root, dirs, files in os.walk(src_dir):
# 对于每个子目录
for dir in dirs:
# 新建子目录
new_subdir_path = os.path.join(root, target_dir, dir)
if not os.path.exists(new_subdir_path):
os.makedirs(new_subdir_path)
# 获取旧文件路径
old_file_paths = [os.path.join(root, file) for file in files]
# 将文件移动到新创建的子目录
for file_path in old_file_paths:
new_file_path = os.path.join(new_subdir_path, os.path.basename(file_path))
shutil.move(file_path, new_file_path)
# 使用示例
src_dir = "/path/to/source/directory"
move_files_to_new_subfolders(src_dir)
```
请注意替换`src_dir`变量为你实际想要处理的源目录路径。
阅读全文