2017-10-14 63 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

检查是否有写入权限的文件夹。