【问题标题】:os.makedirs() Occasionally Failsos.makedirs() 偶尔会失败
【发布时间】:2018-08-08 21:19:35
【问题描述】:

我有一个程序 - 在启动时 - 检查用户提供的输出目录是否存在。如果找不到目录,程序会尝试创建它:

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)。

【问题讨论】:

    标签: python file-io intermittent


    【解决方案1】:

    我猜这是种族条件的问题,看看这个答案Race Condition,希望对您有所帮助。

    【讨论】:

    猜你喜欢
    • 2018-04-09
    • 2020-08-08
    • 2015-03-26
    • 2013-03-03
    • 2014-10-14
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    相关资源
    最近更新 更多