2014-10-18 52 views
2

我有一個現有的文件,我想刪除了,我在嘗試刪除它時,出現以下錯誤:是否有os.remove()一須藤

os.remove(input_path) 
OSError: [Errno 13] Permission denied: 

有什麼辦法刪除文件已經存在,比做其他:

subprocess.call(['rm', input_path]) 
+2

爲什麼'subprocess.call'有幫助? – user2864740 2014-10-18 19:18:41

+0

'subprocess.call'行將如何避免該問題? – shx2 2014-10-18 19:18:55

+0

有很多方法可以刪除現有的文件。 'input_path'是一個偶然的目錄嗎? – ZWiki 2014-10-18 19:22:20

回答

3

既然你得到一個「權限被拒絕」的錯誤,很顯然有一個「不匹配」的文件權限(或它的父目錄)之間,而那些運行python進程的用戶。

最佳做法不是尋找sudo形式的「快捷方式」,而是修復要刪除的文件或運行python進程的用戶的權限。

權限是有原因的。如果您選擇通過使用諸如sudo等技巧來撤消/繞過它們,您將冒着陷入麻煩的風險。