PermissionError: [WinError 5] 拒絕訪問。


在編寫python腳本文件test.py時

編寫了如下的創建文件夾方法:

 1 def make_folder(folder_name):
 2     FOLDER_NOT_EXIST = False
 3     while (True):
 4         if FOLDER_NOT_EXIST == True or folder_name not in files:
 5             os.mkdir(folder_name)
 6             FOLDER_NOT_EXIST = FALSE
 7             print(folder_name + 'successfully created')
 8             break
 9         else:
10             print('Folder ' + folder_name + ' already exist.')
11             isdel = input('Enter Y/N decide overwrite it or not:')
12             if isdel == 'Y':
13                 os.remove(folder_name)
14                 FOLDER_NOT_EXIST = True
15             if isdel == 'N': break
16             continue

本意為利用os.remove來規避可能遇到的FileExistsError

但由於程序中的os.remove()需要提升系統權限為administrator才能執行

所以如果直接使用cpython運行代碼:

 python test.py 

就會得到:

PermissionError: [WinError 5] 拒絕訪問。

在win10系統下讓程序得到administrator權限運行不是一件容易的事,因此在win10環境下要盡量規避此類代碼

取而代之的方法是:

程序中刪除os.remove相關的代碼,而在遇到FileExistsError時,cmd當前目錄下運行

 rmdir /s /q [dirname] 

再運行

 python test.py 

就可以成功運行了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM