我有一个程序,在启动时会检查用户提供的输出目录是否存在。如果找不到该目录,该程序会尝试创建它:
if not os.path.exists(path):
os.makedirs(path)
Path是指像'/mnt/share/path/to/output'这样的标准绝对路径到目录的路径。
它大约有75%的时间会正常工作。剩下25%的时间我要么得到"exception.OSError"错误,要么得到"exception.IOError: [Errno 2] No such file or directory."错误。这两个异常都有相同的错误号和文本。
为什么会这样呢?我不明白它可能是权限相关或其他什么原因——我正在以自己的身份写入我所拥有和控制的目录,而且另外3次中也都是可以正常工作的。每次程序调用之间,我都在相同的位置写入相同的目录,并且递归地删除它进行测试。如果这很重要的话,它是在一个远程共享(NFS)上写入的。