FileNotFoundError甚至包含filemode" a +"

时间:2018-01-12 18:14:56

标签: python file

我的代码如下:

logPath = os.path.join(os.path.normpath(os.getcwd()) + "/datei.log") + os.sep
logFile = open(logPath, "a+")
logFile.write(foo)
logFile.close()

应该打开文件./datei.log(如果它不存在则创建它)。但是,我得到FileNotFoundError

FileNotFoundError: [Errno 2] No such file or directory: '/foo/bar/datei.log/'

我看到的所有资源都表明"a+"而不是"a"应该解决这个问题,但这显然会失败。我该如何解决?

1 个答案:

答案 0 :(得分:2)

open函数需要一个类似路径的对象,该对象指向现有目录中的文件。当目录不存在时会引发错误,在我的情况下,在Python 3.6中错误是:

  

NotADirectoryError:[Errno 20]不是目录:'/ Users / grr / datei.log /'

正如@cᴏʟᴅsᴘᴇᴇᴅ指出尾随os.sep在文件描述符的末尾添加了一个'/',使其看起来像是路径而不是文件。这是造成错误的原因。