使用python从zip文件中删除路径

时间:2011-10-27 12:31:41

标签: python path unzip

我有一个包含路径的zip文件。当我使用python解压缩文件并将其放入目标文件夹时,它会在目标文件夹内的路径中创建所有文件。

目标:d:\ unzip_files zip文件的路径和文件名为:\ NIS \ TEST \ Files \ tnt.png

会发生什么:d:\ unzip_files \ NIS \ TEST \ Files \ tnt.png

有没有办法将tnt.png文件解压缩到d:\ unzip_files?或者我是否必须读下列表并移动文件,然后删除所有空文件夹?

import os, sys, zipfile

zippath = r"D:\zip_files\test.zip"
zipdir = r"D:\unzip_files"

zfile = zipfile.ZipFile(zippath, "r")
for name in zfile.namelist():
    zfile.extract(name, zipdir)
zfile.close()

所以,这是有效的..

import os, sys, zipfile

zippath = r"D:\zip_files\test.zip"
zipdir = r"D:\unzip_files"

zfile = zipfile.ZipFile(zippath, "r")
for name in zfile.namelist():
    fname = os.path.join(zipdir, os.path.basename(name))
    fout = open(fname, "wb")
    fout.write(zfile.read(name))

fout.close()

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如何将文件读取为二进制文件并将其转储?需要处理存在预先存在的文件的情况。

for name in zfile.namelist():

    fname = os.path.join(zipdir, os.path.basename(name))
    fout = open(fname, 'wb')
    fout.write(zfile.read(name))