Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida em criar diretório em Python

Olá pessoal,

Estou tentando criar um diretório em python, mas por enquanto estou usando windows e estou com dificuldades.

Meu código do app.py é:

# Python Library 
# -*- coding: UTF-8 -*-

import os

def create_directory(server_path, branch):
    if not os.path.exists(rserver_path):
        os.makedirs(rserver_path)
    os.makedirs(server_path + "/" + branch)

Mas quando executo o código:

D:\tools\scripts>python
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from app import *
>>> create_directory('D:\temp\lixo','ProjectA_CO_4.2.x')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "app.py", line 18, in create_directory
    os.makedirs(newpath)
  File "C:\Python27\lib\os.py", line 150, in makedirs
    makedirs(head, mode)
  File "C:\Python27\lib\os.py", line 157, in makedirs
    mkdir(name, mode)
WindowsError: [Error 123] A sintaxe do nome do arquivo, do nome do diret¾rio ou do r¾tulo do volume estß incorreta: 'D:\temp'
>>>

Alguém pode me ajudar?

1 resposta
solução!
def make_tree_dirs(location, *args):
    def makedir(a, b):
        path = os.path.join(a, b)
        if not os.path.exists(path):
        os.mkdir( path )
        return path
    for path in args:
        reduce(makedir, [location]+path.split(os.sep))

Só não se esqueçam que isso já existe: http://docs.python.org/library/os.html#os.makedirs

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software