首页 > 解决方案 > 如何通过 Python 编码将所有数据文件从多个文件夹移动到其子文件夹?

问题描述

我导入了osshutil模块来完成这个任务。os.path.join root_dir with fi_name但是当我用来存储源文件时,它给出了以下错误消息:

无法将 str 与列表类型连接起来

我如何完成这项任务?

标签: python-2.7

解决方案


此代码会将当前目录和当前目录的子目录中的所有文件移动到一个名为`sub_folder 的新子目录。

import os


new_folder_name = 'sub_folder'
base_path = os.getcwd()

new_folder_add = os.path.join(base_path, new_folder_name)
if not os.path.isdir(new_folder_add):
    os.mkdir(new_folder_name)

walk = os.walk(base_path)
for level in walk:
    if level[0] == new_folder_add:
        continue
    for fname in level[2]:
        file_add = os.path.join(level[0], fname)
        new_file_add = os.path.join(new_folder_add, fname)
        # this will replace if there exists an other file with new_file_add address
        os.rename(file_add, new_file_add)

推荐阅读