os.makedirs()偶尔会失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了os.makedirs()偶尔会失败相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

谢谢,

Jayce

答案

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

以上是关于os.makedirs()偶尔会失败的主要内容,如果未能解决你的问题,请参考以下文章

os.makedirs 在我的路径中不理解“~”

Python os.makedirs() 方法

os模块常用方法

Python3.x:os.mkdir与 os.makedirs(创建目录方法)区别

python中os路径相关的函数 os.mkdir和os.makedirs

day05-模块