我有一个python程序,用文件夹B(远程位置)写一个zip文件,文件夹来自文件夹A(c:\ workspace)。但不知道为什么我不能写那个文件夹A。
从权限方面,我使用的是本地管理员帐户,我可以从该文件夹进行读写。我已经尝试通过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:\ workspace \ folders> [' django-rev7543',' www_server']
文件> [' backup.log']
FOLDERNAME> django-rev7543
foldername_path>> C:\工作空间\ Django的rev7543
追踪(最近一次呼叫最后一次):
文件" C:\ Scripts \ master_backup.py",第178行,在backup_files()
文件" C:\ Scripts \ master_backup.py",第102行,在backup_files email_error_notification(e)
文件" C:\ Scripts \ master_backup.py",第176行,在email_error_notification中
sys.exit(1)SystemExit:1
在我的日志文件中保存错误:
2017-05-04 10:46:38,046 root DEBUG [Errno 13]权限被拒绝:' c:\ workspace \ django-rev7543'
2017-05-04 10:46:38,078 root DEBUG并非在字符串格式化期间转换所有参数
出于测试目的,我将该子文件夹(django-rev7543)定位为zpif,我也可以在那里写。在这个程序中,我正在写一个日志文件。
毕竟,好像我可以读写,但在尝试压缩任何文件夹或文件时,我得到了许可被拒绝。 = /
此脚本在另一台计算机上运行没有问题,但没有弄乱C:/文件夹或子文件夹。
版本:
更新1:
使用我之前使用的程序,使用shutil.copy2我能够毫无问题地复制,但它只是一个文件..