我有一個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