簡體   English   中英

我無法刪除剛剛從python的zip文件中提取的文件夾

[英]I can't delete a folder that I just extracted from a zip file in python

所以這是我的問題。 我有一個python腳本,需要一個zipfile並提取其內容。 然后,基於一些約束,我將嘗試刪除剛剛提取其內容的文件夾。 由於某種原因,我收到錯誤消息WindowsError:[錯誤5]當我嘗試刪除該文件夾時,訪問被拒絕:“文件夾名”。 簡單的代碼如下所示

wzip = zipfile.ZipFile('zipfile.zip')

wzip.extractall()

wzip.close()

os.remove('ExtractedFolder')

如果我在解釋器中運行此命令,則會得到以下信息:

追溯(最近一次通話最近):Windows中文件“”,行1,錯誤:[錯誤5]訪問被拒絕:“ ExtractedFolder”

我在Windows Vista 32位上使用Python 2.6,對於為什么會發生這種情況我有些困惑。

可能有很多原因。

  1. 您需要使用os.rmdir刪除目錄
  2. 您需要首先清空文件夾-請記住,Windows命令rmdir需要一個/S選項來刪除內容,Python可能會使用該選項。
  3. 解壓縮是否也使用檔案的屬性? 可以應用只讀屬性。
  4. 在刪除之前,您是否正在從該文件夾中讀取任何內容? 您可能尚未關閉它。
  5. Windows可能導致文件名包含不尋常字符的類似問題

我在Windows上看到一個可能的問題,那就是該目錄中可能有一個打開的文件。 確保使用file.close()明確關閉所有已打開的文件(不過,示例代碼看起來正確)。

另外,查看shutils.rmtree可能會很有用:它可以遞歸刪除目錄並捕獲錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM