错误13权限被拒绝:使用zip

2024-10-02 12:35:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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()

这是输出:

root> c:\workspace\ folders> ['django-rev7543', 'www_server']

files>['backup.log']

foldername> django-rev7543

foldername_path>> c:\workspace\django-rev7543

Traceback (most recent call last):

File "C:\Scripts\master_backup.py", line 178, in backup_files()

File "C:\Scripts\master_backup.py", line 102, in backup_files email_error_notification(e)

File "C:\Scripts\master_backup.py", line 176, in email_error_notification

sys.exit(1) SystemExit: 1

在保存错误的日志文件中:

2017-05-04 10:46:38,046 root DEBUG [Errno 13] Permission denied: 'c:\workspace\django-rev7543'

2017-05-04 10:46:38,078 root DEBUG not all arguments converted during string formatting

出于测试目的,我将子文件夹(django-rev7543)作为zpif,我也可以在那里编写。在这个程序中,我正在写一个日志文件。在

毕竟,似乎我可以读写,但当我试图zipf任何文件夹或文件时,我的权限被拒绝了。=/

此脚本在另一台计算机上运行时没有问题,但没有搞乱C:/folders或subfolders。在

版本:

  • Python 2.5.4
  • Windows XP SP3

更新1:

我以前用过的程序shutil.copy2号文件我可以毫无问题地复制,但只是一个文件。。在


Tags: 文件pathdjangoin文件夹权限rootfiles
1条回答
网友
1楼 · 发布于 2024-10-02 12:35:05

我发现Python2.5下的zipf不会压缩空文件夹,但是OSError将其返回为Errno 13 Permission denied。在

为了不受任何限制地使用zipf,它至少应该在python3.4中使用(不要检查它是否适用于python3.4之前的所有版本)。在

相关问题 更多 >

    热门问题