Я хочу запустить mkdir
команду как:Как запустить os.mkdir() с опцией -p в Python?
mkdir -p directory_name
Что способ сделать это в Python?
os.mkdir(directory_name [, -p]) didn't work for me.
Я хочу запустить mkdir
команду как:Как запустить os.mkdir() с опцией -p в Python?
mkdir -p directory_name
Что способ сделать это в Python?
os.mkdir(directory_name [, -p]) didn't work for me.
Вы можете попробовать это:
# top of the file
import os
import errno
# the actual code
try:
os.makedirs(directory_name)
except OSError as exc:
if exc.errno == errno.EEXIST and os.path.isdir(directory_name):
pass
exc не имеет атрибута errno. – pynovice
Вы должны добавить в начало кода 'import errno' –
Это должно быть os.mkdirs (окончание s важно), но SO не позволит мне отправить такое небольшое редактирование. –
Что-то вроде этого:
if not os.path.exists(directory_name):
os.makedirs(directory_name)
UPD: как сказано в комментарии вам нужно проверить для исключения для безопасности потока
try:
os.makedirs(directory_name)
except OSError as err:
if err.errno!=17:
raise
Это неотъемлемое состояние гонки 7 и, следовательно, * очень * плохая идея. – Voo
это склонно к условиям гонки. То есть, если какой-то другой процесс/поток создает 'имя_каталога' после' if', но до 'os.mkdirs', этот код будет вызывать исключение –
как об этом os.system('mkdir -p %s' % directory_name)
Try os.makedirs ('/ множественный/путь /') – rajpy
дубликат: http://stackoverflow.com/questions/600268/mkdir-p-functionality-in-python?rq=1 –
Возможные дубликатом [mkdir -p функциональность в Python] (http://stackoverflow.com/questions/600268/mkdir-p-functionality-in-python) –