Ir para conteúdo
Fórum Script Brasil

joagostini

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre joagostini

joagostini's Achievements

0

Reputação

  1. Obrigado. Duro saber o que não esta funcionando aqui.
  2. Olá Estou aprendendo Python e estou fazendo um exercício de crair um cadastro de pessoas, com nome e idade, simples. Mesmo simples eu devo criar arquivos, verificar se eles existem, e cadastrar novas pessoas. Assim, ao pedir para abrir um arquivo, faço a verificação Try e Except que trata do FileNotFoundError. Se ele não exitir, pergunta-se se se quer criar o arquivo, aso o arquivo exisa, o fluxo do programa levaria a abrir o arquivo pesquisado. Qual o problema? Quando o arquivo Não Existe, o except funciona perfeitamente, ele diz que o arquivo não existe e pergunta se quero criá-lo. Mas quando o arquivo existe, em vez do programa seguir para a próxima instrução ela pula para a última e não me permite ver o arquivo pedido. Eis os trechos em questão: #verificação da existência do arquivo def existe(): qual = input('Qual nome do cadastro? $ ').strip().lower() arquivo = 'cadastros/' + qual + '.txt' try: arquivo_existe = open(arquivo, 'rt') arquive_existe.close() except FileNotFoundError: print(f'Arquivo {arquivo} não encontrado!') sn = input('Quer criar arquivo? [S/N] $ ') if sn in 'Ss': cadastrar() # em outro arquivo está onde ocorr a chamada da função acima def principal(): sim = 1 while sim: menu() print(' Sua opção: $ ', end='') try: opç = int(input()) if opç == 1: sub_menu('1') tempo() existe() #<-- chamada de existe, em tese, se o arquivo existe o fluxo deveria chegar em ver_cadastro ver_cadastro() #<-- deveria chegar aqui, mas vai para...(ver abaixo) elif opç == 2: sub_menu('2') tempo() cadastrar() elif opç == 3: sub_menu('3') tempo() break except (ValueError, TypeError): print('Valor invalido! Tente outra vez') continue while True: cont = str(input('Continua? [S/N] $ ').upper()) if cont in 'Nn': sim = 0 break elif cont in 'Ss': sim = 1 break elif cont.isspace() or cont.isdigit(): print('Opção incorreta! Tente outra vez.') elif not cont: print('enter') continue else: print('Opção incorreta! Tente outra vez.') # <-- o Try de existe() desvia o fluxo para cá se o arquivo existe continue Obrigado por qualquer contribuição.
×
×
  • Criar Novo...