如何将文件移动到新目录而不是删除它们

时间:2017-12-18 15:40:14

标签: python shutil

我能够找到如何查找和删除目录中的空文件夹,并且它可以正常工作。这是我的代码

import os
import shutil
import colorama

from os.path import join, isfile

def walksub(dir):
    isEmpty=True
    subDirs=[]

    for entry in os.listdir(dir):
        try:
            if isfile(join(dir,entry))==True:
               isEmpty = False
            else:
                subEmpty =  walksub(join(dir, entry))
                if subEmpty==True:
                   subDirs.append(join(dir, entry))
                else:
                    isEmpty=False
        except :
            print ("error checking: "+entry)
            isEmpty=False
    if isEmpty == False:
       for subDir in subDirs:
           currentnumber = subDirs.index(subDir)
           print (subDir)

           os.rmdir(subDir) # delete the empty folders


     return isEmpty

walksub("DBpics")

而不是使用os.rmdir(subDir)删除空文件夹。我想将它们移动到一个新目录。我该如何实现呢?

我将目标文件夹定义为

    emptyfolders ="/Emptyfolders/"

然后尝试移动文件而不是删除

  shutil.move(subDir,emptyfolders)

错误消息是

  

PermissionError:[Errno 13]权限被拒绝:'/ Emptyfolders /'

1 个答案:

答案 0 :(得分:2)

如果您正在寻找移动目录的方法,那么您已经导入了shutil。它有一个适用于目录的移动功能:

https://docs.python.org/3.5/library/shutil.html#shutil.move