2014-12-22 11 views
-3

Я пытаюсь создать каталог, используя os.mkdir() или os.makedirs() следующим образом:Как создать каталог с помощью os.mkdir()

if not os.path.exists(directory): 
    os.mkdir(directory) 

Этот код работает отлично, но я не мог видеть каталог, созданный в путь к каталогу.
Если я пишу только:

os.mkdir(directory) 

это дает сообщение об ошибке, которое уже существует каталог.

+0

И что такое 'directory'? Вы используете относительные пути? –

+2

Мы не можем точно заглянуть в вашу файловую систему, и какой ответ вы ожидаете? Уверяю вас, что 'os.mkdir' работает. –

ответ

1

Попробуйте следующее за немного более надежную обработку - подобно тому, как mkdir -p работает на Linux:

def _mkdir(_dir): 
    if os.path.isdir(_dir): pass 
    elif os.path.isfile(_dir): 
     raise OSError("%s exists as a regular file." % _dir) 
    else: 
     parent, directory = os.path.split(_dir) 
     if parent and not os.path.isdir(parent): _mkdir(parent) 
     if directory: os.mkdir(_dir) 

Если вы попытаетесь сделать реж над файлом, жалуются, в противном случае, просто убедитесь, что существует реж ,

+0

Отлично .. Это действительно сработало. Не могли бы вы рассказать об этом? –

+0

['os.makedirs'] (https://docs.python.org/2/library/os.html#os.makedirs) ?? –

+0

@AshwiniChaudhary конечно, но это более полезно для изучения того, что задействовано. –

Смежные вопросы