在 python 中的多线程中 mkdir 时出错
Error when mkdir in multi threads in python
如果文件夹不存在,我有多线程代码来创建文件夹
if not os.path.exists(folder): os.makedirs(folder)
我遇到这样的错误
The folder cannot be created since a file already exists with the same path
我不确定我能为这个错误做些什么,你有什么想法吗?
阅读the docs。如果您不关心该目录是否已经存在,只关心它在您完成后是否存在,只需调用:
os.makedirs(folder, exist_ok=True)
甚至不使用 exists
检查目录是否存在(取决于竞争条件),只需使用 exist_ok=True
调用 os.makedirs
,如果不存在,它将创建它'存在,如果它已经存在则什么也不做。
这需要 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
如果文件夹不存在,我有多线程代码来创建文件夹
if not os.path.exists(folder): os.makedirs(folder)
我遇到这样的错误
The folder cannot be created since a file already exists with the same path
我不确定我能为这个错误做些什么,你有什么想法吗?
阅读the docs。如果您不关心该目录是否已经存在,只关心它在您完成后是否存在,只需调用:
os.makedirs(folder, exist_ok=True)
甚至不使用 exists
检查目录是否存在(取决于竞争条件),只需使用 exist_ok=True
调用 os.makedirs
,如果不存在,它将创建它'存在,如果它已经存在则什么也不做。
这需要 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