我有一个python程序在文件夹B(远程位置)中使用文件夹A(c:\ workspace)中的整个文件夹树编写zip文件。但不知道为什么我不能写这个文件夹A.Errno 13权限被拒绝:使用zipf
从权限方面来说,我使用的是本地管理员帐户,我可以从该文件夹读取和写入。我已经尝试强制通过cmd以管理员权限运行,但结果相同。从文件夹权限中,作为管理员,我在该文件夹中拥有特殊权限。
这是我压缩整个文件夹的内容,包括子文件夹的部分:
zipf = zipfile.ZipFile(dst, 'w',zipfile.ZIP_DEFLATED)
for root, folders, files in os.walk(SRC):
print ('root> %s' %root)
#logging.debug('root> %s' %root)
print ('folders> %s' %folders)
#logging.debug('folders> %s' %folders)
print ('files> %s'%files)
#logging.debug('files> %s'%files)
for foldername in folders:
print ('foldername> %s' %foldername)
foldername_path = os.path.join (root,foldername)
print ('foldername_path> %s' %foldername_path)
zipf.write(foldername_path)
for filename in files:
print ('filename> %s' %filename)
filename_path = os.path.join (root,filename)
print ('filename_path> %s' %filename_path)
zipf.write(filename_path)
zipf.close()
这是输出:
根> C:\工作空间\文件夹> ['django的-rev7543 ”, 'www_server']
文件> [ '的backup.log']
FOLDERNAME>的django-rev7543
foldername_path >> C:\工作区\ Django的rev7543
回溯(最近通话最后一个):
文件 “C:\脚本\ master_backup.py”,线路178,在BACKUP_FILES()
文件 “C:\脚本\ master_backup.py”,线路102,在BACKUP_FILES email_error_notification(e)中
文件 “C:\脚本\ master_backup.py”,线路176,在email_error_notification
sys.exit(1)SystemExit:1
以我的日志文件,其中被保存的错误:
2017年5月4日10:46:38046根DEBUG [错误13]权限被拒绝: 'C:\工作空间\ django的-rev7543'
2017年5月4日10:46:38078根DEBUG不串过程中被转化的所有参数格式化
出于测试目的我有靶该子文件夹(django- rev7543)为zp如果我也可以在那里写。在这个程序中,我正在写一个日志文件。
毕竟,似乎我可以读写,但试图zipf任何文件夹或文件时,我得到权限被拒绝。 =/
此脚本在另一台计算机上运行时没有问题,但没有搞乱C:/文件夹或子文件夹。
版本:
- 的Python 2.5。4
- 的Windows XP SP3
更新1:
有了,我用以前的程序,用shutil.copy2我能没有问题复制,但它只是一个文件..
尝试打开以管理员身份运行cmd,然后运行该程序或转到该文件夹和安全性的属性,然后更改登录用户的权限 – Exprator
@Exprator在这两种情况下您都可以移动相同的结果=/ – SipriusPT
您可以移动您的程序到另一个驱动器并尝试保存在该驱动器中,而不是在C:\驱动器中。意味着D:\中的代码并保存在D中:\ – Exprator