簡體   English   中英

為什么我收到錯誤消息:“FileExistsError: [WinError 183] 當文件已存在時無法創建文件”?

[英]Why am I getting the error: "FileExistsError: [WinError 183] Cannot create a file when that file already exists"?

如果我的腳本創建了一個文件夾,為什么會出現錯誤? 我在 Windows 7 上使用 Python。錯誤:

FileExistsError:[WinError 183] 當文件已存在時無法創建文件:[相關文件或文件夾的路徑]

問題是文件和文件夾不存在。

我剛剛遇到了同樣的問題。 該線程幫助我解決了問題,但以下說明可能對某人有所幫助:

對我來說,誤解來自shutil.copytree(source, destination, symlinks, ignore)

我將destination視為我復制的樹將去的地方。 實際上,它會創建該位置,然后將樹復制到那里。 因此,如果您的目標目錄已經存在,就像我的一樣,您將收到錯誤消息。

希望對某人有所幫助。

正如評論所指出的,該文件夾已經存在。 您似乎認為嘗試創建一個已經存在的文件夾應該什么都不做。 但這不是 Windows 的看法。

為避免出現錯誤消息,請先檢查文件夾是否存在。 在創建文件夾的代碼之前,執行

if not os.path.exists("name of folder"):

我剛剛遇到了一個稍微微妙的版本,這可能對其他人有幫助。

我正在創建一個文件夾:
os.makedirs(os.path.dirname(my_filename), exist_ok=True)

哪個應該創建文件夾,但如果它已經存在則不會出錯。 我會運行很多次沒有問題。

再跑一遍,報錯:

FileExistsError: [WinError 183] Cannot create a file when that file already exists: '\my\folder\path'

最終發現我保留了之前運行的輸出文件夾以進行比較,方法是將其重命名為其他內容。
這不應該引起問題,但我仍然在記事本中打開了該文件夾中的一個文件。 因此,由於仍然有對該文件夾的活動引用,操作系統拋出了一個錯誤。

在記事本中關閉文件重新運行,工作正常。

當我嘗試創建路徑樹然后在那里復制文件時出現此錯誤。 實際的問題是 - 沒有一個文件夾已經存在。

相反,有一個擴展名較少的同名文件。

所以python在這里無法區分文件和文件夾。

暫無
暫無

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

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