拒绝访问使用 python 创建的 zipfile

Posted

技术标签:

【中文标题】拒绝访问使用 python 创建的 zipfile【英文标题】:Access Denied to zipfile created using python 【发布时间】:2020-06-19 11:18:01 【问题描述】:

我能够使用以下代码创建一个 zip 文件:

import os
import zipfile

user = input('Please enter your ID:')
date = input('Please enter the date:')

os.chdir('C:/Users/'+user+'/Desktop/Files/')
name = 'Position_'+date+'_Global'
newzip = zipfile.ZipFile(name+'.zip', 'w', zipfile.ZIP_DEFLATED) 
newzip.write(name+'.txt')
print(newzip.infolist())
newzip.close()

代码运行成功,但我在尝试打开 zip 文件时遇到拒绝访问错误。

压缩(压缩)文件夹错误:

Windows 无法打开该文件夹。

访问压缩(压缩)文件夹 'C:/Users/XXXXX/Desktop/Files/Position__Global.zip' 被拒绝。

我不确定是什么导致了这个问题。你能查一下吗?

【问题讨论】:

对我来说很好用,python 脚本输出什么? 这可能不是原因,但我会提到它以防万一,似乎如果您不是计算机上的管理员(至少在 Windows 7 中),您可以创建 zip 文件但无法打开或删除它们(我相信还有其他一些操作)。 我不相信上面的答案,您在桌面上创建了文件,并且您无法以非管理员身份访问它们? 鲍勃是对的。这是由于默认情况下在我的办公室 PC 上设置了管理权限。我在我的个人笔记本电脑上尝试了相同的代码,效果很好 【参考方案1】:

我的办公室 IT 团队对此进行了调试:

问题是由于我的办公室 PC 上的用户权限受到限制。当您具有用户访问权限但 python 以管理员身份执行时会发生这种情况。那么管理员创建的文件将无法被普通用户打开。

【讨论】:

【参考方案2】:

大多数时候,它发生在某些应用程序打开文件而不是关闭时。请记住关闭脚本中打开的文件,或者在关闭打开的文件之前尝试在失败时关闭应用程序。

import zipfile

newzip = zipfile.ZipFile('D:/test.zip', 'w', zipfile.ZIP_DEFLATED)
newzip.write('D:/test.txt')
print(newzip.infolist())
# newzip.close()

【讨论】:

这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review 不批评或要求作者澄清。我这样做并找到关闭文件的解决方案。 自动生成评论,有时与内容不符。无论如何,关键是除非您有适当的解决方案,否则它仍然是评论/建议,而且您很可能被其他人否决了,即发布建议作为答案。 您需要注释掉一行来创建此错误。鉴于问题中提供的脚本,您可能想要添加,当文件在脚本中正确关闭时,您认为它仍然处于打开状态。 不,不是这样。有时,语句出错并且执行停止,得到这个问题。对于直接我评论关闭声明。如果我有一些失败的破解也是一样,也许你仍然说我犯了一些错误来使它成为现实。如果没有问题,为什么要在那里麻烦,对吧?

以上是关于拒绝访问使用 python 创建的 zipfile的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 python 创建 ZIPfile

Python 3:使用内存 Xml 创建内存 Zipfile

Cloudfront 提供通过 AWS CDK Python 为 S3 存储桶来源创建的访问被拒绝响应,无需公共访问

python模块 zipfile

Python zipfile 模块创建多个同名文件

使用 python zipfile 归档符号链接