Python中的多任务处理,重新格式化和移动

时间:2017-02-09 15:58:17

标签: python-3.x multitasking

我有很多文件夹。我想制作.zip格式的文件并将它们移动到另一个目录:

    for (dir, dirs, files) in os.walk(directory):
        for filename in files:
             # make zip files
             if filename.endswith(".zip"):
                # move created zip files
                os.rename(dir + '/' + filename, new + '/' + directory + '/' + filename)

问题是,在制作zip文件后,程序无法找到带有zip扩展名的创建文件。我想创建一个zip格式并将其移动到另一个文件夹。

1 个答案:

答案 0 :(得分:1)

您可以使用shutil lib:

import shutil
shutil.move("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
  

shutil.move(src,dst)

     

递归地将文件或目录(src)移动到另一个位置(dst)。

     

如果目标是现有目录,则将src移入其中   那个目录。如果目的地已存在但不是   根据os.rename()语义,它可能会被覆盖。

     

如果目标位于当前文件系统上,则os.rename()为   用过的。否则,将src复制(使用shutil.copy2())到dst然后   除去。

您也可以将shutil用于存档文件:

  

shutil.make_archive(base_name,format [,root_dir [,base_dir [,   verbose [,dry_run [,所有者[,group [,logger]]]]]]])

     

创建档案   文件(例如zip或tar)并返回其名称。

有关详细信息,请参阅shutil documentation