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.