os.makedirs()偶尔会失败

时间:2018-02-28 21:35:10

标签: python file-io intermittent

也许有人对我遇到的以下问题有所了解。我有一个程序 - 在启动时 - 检查用户提供的输出目录是否存在。如果找不到目录,程序会尝试创建它:

if not os.path.exists(path):
  os.makedirs(path)

路径是目录的标准绝对路径,例如'/ mnt / share / path / to / output'

大约75%的时间都有效。剩下的时间我得到“exception.OSError”或“exception.IOError:[Errno 2]没有这样的文件或目录。”两个例外都有相同的错误号和文本。

为什么会这样?我不知道它是如何与权限相关或类似的东西 - 我自己写的是我拥有和控制的目录 - 并且它再次在其他3个中有3次工作。我每次都将同一目录写到同一个地方,并在程序调用之间递归删除它以进行测试。如果重要的话,它正在写入远程共享(NFS)。有什么想法吗?

谢谢,

Jayce

1 个答案:

答案 0 :(得分:0)

我想这是一个种族条件的问题,请看一下这个答案Race Condition,希望它有所帮助。