我有很多文件夹。我想制作.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格式并将其移动到另一个文件夹。
答案 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