我有一个程序 - 在启动时 - 检查用户提供的输出目录是否存在。如果找不到目录,程序会尝试创建它:
if not os.path.exists(path):
os.makedirs(path)
Path 是目录的标准绝对路径,例如 '/mnt/share/path/to/output'
它大约有 75% 的时间有效。其余时间我得到“exception.OSError”或“exception.IOError: [Errno 2] No such file or directory”。这两个异常具有相同的错误号和文本。
为什么会这样?我看不出它与权限相关或类似的东西 - 我正在以自己的身份写入我拥有和控制的目录 - 而且它再次在 4 次中的其他 3 次中起作用。我每次都将同一个目录写入同一个地方,并在程序调用之间递归地删除它以进行测试。如果这很重要,它正在写入远程共享 (NFS)。