Ir ao conteúdo
  • Cadastre-se

Python Erro de diretório ao criar uma pasta


Posts recomendados

import os

dir_image = str(input('Diretorio das Screenshots: ')).strip() # C:\Users\nanana\Desktop\ProjectsPy
if os.path.isdir(dir_image):
    pass
else:
    os.mkdir(dir_image)

Criei um programa que pede ao usuário o diretório em que a pasta "dir_image" será criada, porém após colocar o diretório, ele fecha o programa em vez de criar a pasta.

Acredito que o erro seja na inserção do diretório, porquê ele lê:

if os.path.isdir('C:\Users\nanana\Desktop\ProjectsPy'):

Em vez de:

if os.path.isdir(r'C:\Users\nanana\Desktop\ProjectsPy'):

Como eu "insiro" o nesse código?

Link para o comentário
Compartilhar em outros sites

Mas você quer criar o diretório dir_image em um caminho específico como esse C:\Users\nanana\Desktop\ProjectsPy\, ou vai ser em qualquer lugar do computador que a pessoa quiser especificar?🤔

 

Porque tem muita diferença em código você precisar navegar por todas as pastas do PC até chegar em uma específica ou ter um caminho só pré estabelecido e nele criar a referida pasta, me explica melhor o seu objetivo?👍

Link para o comentário
Compartilhar em outros sites

Saquei, mas tive que modificar seu código para ele trabalhar corretamente com o os.mkdir, ele é bem específico na criação do caminho e trabalha usando barra / e não barra invertida \

import os

caminho_parcial = str(input('Diretorio das Screenshots: '))

caminho_final = caminho_parcial.replace("\\", "/")

if os.path.isdir(f'{caminho_final}/dir_image'):
    pass
else:
    os.mkdir(f'{caminho_final}/dir_image')

As saídas na tela foram essas:

 

image.png.93e7eccced667be39b406c40e0c1fdc3.png

 

Pelo Explorer do Windows eu  copiei e colei o caminho acima na linha de execução do programa.

 

image.png.e4e90beffa32d0bc00541a667c5275bb.png

 

Então o diretório dir_image foi criado lá dentro com sucesso!

 

image.png.896e95a22d461e65d0bf24f8172a8e49.png

 

Era isso que você queria?

Link para o comentário
Compartilhar em outros sites

16 horas atrás, MrFruit disse:

como você trocou as "//" sendo que não tem elas no diretório?

 

Você deve estar se referindo a essa linha do código né?

caminho_final = caminho_parcial.replace("\\", "/")

Se for isso o replace é quem substitui um caractere por outro, eu apenas coloquei duas barras invertidas para indicar que não estou solicitando um escape de string e sim literalmente a impressão ou o tratamento do caractere apenas como uma barra invertida, isso porque no Python assim como em algumas outras linguagens a barra invertida é usada como sinal de ESCAPE, como é feito com \n, ex: ('Nesse Domingo chuvoso, resolvi:\n -Reprogramar coisas antigas.\n -Refatorar códigos.') quando se quer quebrar uma linha em uma string seria o equivalente do <br> no html.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!