Python中递归地将子目录中的所有文件移动到另一个目录

Xlq*_*lqt 4 python directory file-move

标题解释了我所追求的。请注意,子目录不会包含任何目录, 包含文件(*.JPG)。本质上,只是将文件树中的所有内容向上移动一级。

例如,从 ~/someDir/folder1/*, ~/someDir/folder2/*, ... , ~/someDir/folderN/*。我希望将子目录的所有内容都带到~/someDir/.

Sun*_*mar 8

Shutil.move 是移动文件的一个不错的选择。

import shutil
import os

source = "/parent/subdir"
destination = "/parent/"
files_list = os.listdir(source)
for files in files_list:
    shutil.move(files, destination)
Run Code Online (Sandbox Code Playgroud)

对于递归移动,您可以尝试shutil.copytree(SOURCE, DESTINATION)。它只是复制所有文件,如果需要,您可以手动清理源目录。