python多线程中的mkdir出现错误

mik*_*ang -1 python runtime-error mkdir

我在多线程中有代码来创建文件夹(如果不存在)

if not os.path.exists(folder): os.makedirs(folder)
Run Code Online (Sandbox Code Playgroud)

我有这样的错误

The folder cannot be created since a file already exists with the same path
Run Code Online (Sandbox Code Playgroud)

我不确定该怎么办,您知道吗?

Sha*_*ger 6

阅读文档。如果您不关心目录是否已经存在,只需在完成后就执行即可,只需致电:

os.makedirs(folder, exist_ok=True)
Run Code Online (Sandbox Code Playgroud)

甚至不用检查目录的存在exists(根据竞争条件而定),只需调用os.makedirswith exist_ok=True,如果目录不存在,它将创建该目录,如果目录已经存在,则不执行任何操作。

这需要Python 3.2或更高版本,但是如果您使用的是较早的Python,则可以使用异常处理实现相同的静默忽略:

import errno

try:
    os.makedirs(folder)
except OSError as e:
    if e.errno != errno.EEXIST:
        raise  # Reraise if failed for reasons other than existing already
Run Code Online (Sandbox Code Playgroud)