2017-10-14 65 views
0

我創建了一個小函數來記錄任何錯誤到一個新文件,但是當我不應該出錯時,我得到了錯誤。我搜索了周圍,所有這個問題的答案使用我現在使用的相同的方法,但是我收到錯誤。無法創建新文件(Python)

with open(f'Z:/FTP/errors/error-{get_timestamp(False)}.txt', 'w+') as f: 
    f.write(str(e)) 

以上是我的代碼以下是我收到的錯誤(截斷):

File "Main.py", line 42, in log_error 
    with open(f'Z:/FTP/errors/error-{get_timestamp(False)}.txt', 'w+') as f: 
FileNotFoundError: [Errno 2] No such file or directory: 'Z:/FTP/errors/error-2017-10-14T19:08:07.577362.txt' 

到底哪裏出問題了?我太盲目了,看不到我犯的一個錯誤嗎?

+0

路徑是否存在? IIRC它只會嘗試創建文件,如果它不存在,不是目錄。 – Mark

+4

問題很可能是Windows不允許以文件或目錄名稱存在冒號。你的時間戳有冒號。 – Mark

+0

啊......地獄......謝謝@馬克。我總是忘記那愚蠢的規則。 – Spedwards

回答

0

您需要創建的「錯誤」的文件夾,你寫入文件之前:

import os 
os.makedirs(f'Z:/FTP/errors') 
+0

該目錄存在。應該將它包含在代碼中,但如果該目錄不存在,則創建該目錄(另外,我可以在我的文件資源管理器中看到該目錄)。 – Spedwards

-1

檢查是否有寫入權限的文件夾。