无法使用Python在文件夹中压缩文件

时间:2015-06-05 11:03:18

标签: python zip

我在目录中有多个文件夹(D:/ zptest)。每个文件夹都有许多文件。我正在尝试将所有这些文件压缩到该文件夹​​中,并使用" foldername.zip"将文件保存在同一文件夹中。我已为此编写了一个脚本,但不幸的是它抛出了以下错误

PermissionError: [Errno 13] Permission denied:

有些人可以帮助我吗?

我正在使用以下代码

#!/usr/bin/env python
import os, zipfile
from pathlib import Path
loc=r'D:\zipfilelist'
p=Path(r'D:\zptest')
for x in p.iterdir():
   x1=str(x)
   print("Processing: " + x1)
   dirs=os.listdir(x1)
   for file in dirs:
      file=os.path.join(x1,file)
      zip = zipfile.ZipFile(, "a", zipfile.ZIP_DEFLATED)
      zip.write(file)
      zip.close()

1 个答案:

答案 0 :(得分:0)

感谢您的帮助。我能够完成一个有效的代码。

#!/usr/bin/env python

import os, zipfile, datetime, time
from pathlib import Path

p=Path(r'V:\NAR_ARCHIVE')
for x in p.iterdir():
x1=str(x)
print("Processing: " + x1)
#zipfilename = "%s.zip" % (x.stem)
loc=r'Y:\StorageReports\NAR_Zips'
loc=loc + '\\' + x.stem + '.zip'
print (loc)
print(x.stem)
dirs=os.listdir(x1)

#print(dirs)
for file in dirs:
sdate=datetime.datetime(2015,5,30)
edate=datetime.datetime(2015,6,7)
file=os.path.join(x1,file)
crtime=time.ctime(os.path.getmtime(file))
d1=datetime.datetime.strptime(crtime,"%a %b %d %H:%M:%S %Y")
if d1<edate and d1>sdate:
file=os.path.join(x1,file)
print(file)
#logFile = open(r"Y:\StorageReports\NAR_Zips\logfile.log","a")    
#print >> logFile,message
zip = zipfile.ZipFile(loc, "a", zipfile.ZIP_DEFLATED)
zip.write(file)
zip.close()