无法使用Python在文件夹中创建ZipFile
我在一个目录中有多个文件夹(D:/zptest)。每个文件夹都有许多文件。我正在尝试将所有这些文件压缩到该文件夹中,并使用“foldername.zip”将文件保存到同一文件夹中。我已经为此编写了一个脚本,但不幸的是,它引发了以下错误无法使用Python在文件夹中创建ZipFile,python,zip,Python,Zip,我在一个目录中有多个文件夹(D:/zptest)。每个文件夹都有许多文件。我正在尝试将所有这些文件压缩到该文件夹中,并使用“foldername.zip”将文件保存到同一文件夹中。我已经为此编写了一个脚本,但不幸的是,它引发了以下错误 PermissionError: [Errno 13] Permission denied: 有人能帮我吗 我正在使用以下代码 #!/usr/bin/env python import os, zipfile from pathlib import Path l
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()
谢谢你的帮助。我能够完成一个工作代码
#!/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()
#/usr/bin/env python
导入操作系统、zipfile、日期时间、时间
从pathlib导入路径
p=路径(r'V:\NAR\u归档文件')
对于p.iterdir()中的x:
x1=str(x)
打印(“处理:“+x1”)
#zipfilename=“%s.zip”%(x.stem)
loc=r'Y:\StorageReports\NAR\u Zips'
loc=loc+'\\'+x.stem+'.zip'
打印(loc)
打印(x.stem)
dirs=os.listdir(x1)
#打印(目录)
对于目录中的文件:
sdate=datetime.datetime(2015,5,30)
edate=日期时间。日期时间(2015,6,7)
file=os.path.join(x1,文件)
crtime=time.ctime(os.path.getmtime(文件))
d1=datetime.datetime.StrTime(crtime,“%a%b%d%H:%M:%S%Y”)
如果是d1sdate:
file=os.path.join(x1,文件)
打印(文件)
#logFile=open(r“Y:\StorageReports\NAR\u Zips\logFile.log”,“a”)
#打印>>日志文件、消息
zip=zipfile.zipfile(位置“a”,zipfile.zip_已放气)
zip.write(文件)
zip.close()
您无权访问要压缩的特定文件夹或要写入的文件位置。如果确实要取代权限,请以超级用户身份运行脚本,或者检查用户权限。zipfile.zipfile(,“a”,zipfile.ZIP_DEFLATED)
看起来它缺少第一个参数。我想进一步优化它。当前日期是手动输入的。但是我想手动选择日期(周日到周六)。此代码将在星期日运行,并应选择最后一周的日期。有人能帮我吗?上面的代码有示例日期。