在編寫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
就可以成功運行了