![](/img/trans.png)
[英]FileExistsError: [WinError 183] Cannot create a file when that file already exists
[英]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.