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

FileNotFoundError: [WinError 3] O sistema não pode encontrar o caminho especificado

O seguinte script me traz o erro FileNotFoundError: [WinError 3] O sistema não pode encontrar o caminho especificado. alguém pode ajudar a desvendar ?


from pathlib import Path
import os
from datetime import datetime

def createdir (chassis):
    folder_ver = Path('C:/Users/jonat/Desktop/Relatorios')
    sup3 = str(chassis)
    sup4 = str(datetime.today().strftime('%d%m%Y'))
    dir1 = folder_ver / sup4 / sup3
    print(dir1)
    os.mkdir(dir1)

ch= input("Digite o chassis")
createdir(ch)
1 resposta
solução!

Olá Jonathan, tudo bem com você?

O erro FileNotFoundError, está acontecendo devido a tentativa de criação de uma sub-pasta (sup3) em uma pasta não existente (sup4). Será necessário primeiramente criar as pastas que que recebem como nome a data atual (sup4) e logo após realizar a criação das pastas internas que recebem o números de chassi como nome (sup3).

Para isso, é importante criarmos uma verificação de existência da pasta principal (sup4), caso seja realizado a tentativa de recriação de uma pasta já existente será levantado erro de arquivo existente (FileExistsError). Para verificarmos se existe um determinado diretório utilizaremos o método os.path.isdir().

Abaixo o código com as mudanças propostas.

from pathlib import Path
import os
from datetime import datetime


def createdir(chassis):
    folder_ver = Path('C:/Users/jonat/Desktop/Relatorios')
    sup3 = str(chassis)
    sup4 = str(datetime.today().strftime('%d%m%Y'))

    # Verifica se a pasta com as datas como nome existe (sup4)
    if os.path.isdir(folder_ver/sup4):
        dir1 = folder_ver / sup4 / sup3
        print(dir1)
        os.mkdir(dir1)
    # Caso a pasta não exista ela será criada
    else:
        # Criando a primeira pasta (sup4)
        os.mkdir(folder_ver / sup4)
        # Criando a sub_pasta (sup3)
        os.mkdir(folder_ver / sup4 / sup3)


ch = input("Digite o chassis ")
createdir(ch)

Peço que teste o proposto acima, caso o erro persista encontro-me à disposição.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!