Python «FileExists» ошибка при создании каталога

У меня есть несколько потоков, работающих параллельно с Python в кластерной системе. Каждый поток Python выводит в каталог mydir. Каждый скрипт перед выводом проверяет, существует ли mydir и, если нет, создает его:

if not os.path.isdir(mydir):
    os.makedirs(mydir)

, но это выдает ошибку:

os.makedirs(self.log_dir)                                             
  File "/usr/lib/python2.6/os.py", line 157, in makedirs
mkdir(name,mode)
OSError: [Errno 17] File exists

Я подозреваю, что это может быть из-за состояния гонки, когда одно задание создает dir до того, как другое доберется до него. Это возможно? Если это так, как можно избежать этой ошибки?

Я не уверен, что это состояние гонки, поэтому мне было интересно, могут ли другие проблемы в Python вызвать эту странную ошибку.

37
задан Jahid 17 December 2015 в 13:59
поделиться