2
respostas

Dúvidas quanto ao arquivo 'palavras.txt'

Olá! Estou com um problema onde o terminal me responde

Traceback (most recent call last):
  File "/home/igor/Área de Trabalho/Programacao/Cursos/Cursos Alura/Python/Meus Scripts/Exercicios/Testes.py", line 73, in <module>
    jogar()
  File "/home/igor/Área de Trabalho/Programacao/Cursos/Cursos Alura/Python/Meus Scripts/Exercicios/Testes.py", line 5, in jogar
    arquivo = open("palavras.txt", "r")
FileNotFoundError: [Errno 2] No such file or directory: 'palavras.txt'
Bem vindo ao jogo da Forca!


Process finished with exit code 1

Porém, fiz exatamente os mesmos passos que o instrutor no vídeo. o arquivo 'palavras.txt' está no mesmo diretório que o script. O que pode ter acontecido?

Segue o código:

def jogar():
    print(f'Bem vindo ao jogo da Forca!\n')


    arquivo = open("palavras.txt", "r")
    palavras = []

    for linha in arquivo:
        linha = linha.strip()
        palavras.append(linha)

    arquivo.close()

    print(palavras)
    palavra_secreta = "banana".upper()


    letras_acertadas = ["_" for letra in palavra_secreta]


    enforcou = False
    acertou = False
    erros = 0

    print(letras_acertadas)

    while not enforcou and not acertou:
        chute = str(input('Qual letra você escolhe: '))
        chute = chute.upper().strip()


        if (chute in palavra_secreta):
            for letra in palavra_secreta:

                index = 0
                if chute == letra:
                    print(f'Encontrei a letra {letra} na posição {index+1}')

                    letras_acertadas[index] = letra

                index += 1

        else:
            erros += 1
        enforcou = erros == 6
        acertou = '_' not in letras_acertadas
        print(letras_acertadas)

    if (acertou):
        print('Parabéns, você ganhou!')
    else:
        print('Você é muito ruim! Namoral.')
    print('Game Over')


if __name__ == '__main__':
    jogar()
igor@igor-desktop:~/Área de Trabalho/Programacao/Cursos/Cursos Alura/Python/Meus Scripts/Exercicios$ ls
adivinhacao.py  forca.py  menu.py  palavras.txt  Testes.py

Isso é o que o terminal me retorna dos arquivos do diretório.

Agradeço a atenção.

2 respostas

Oi Igor, como você está?

Aparentemente o código não está conseguindo reconhecer que o arquivo palavras.txt está localizado no mesmo diretório do arquivo forca.py.

Vamos tentar alguns procedimentos:

  • Tente colocar o caminho completo do arquivo palavras.txt para o código efetuar a leitura. Por exemplo:
arquivo = open(r"C:\Users\nadia\Documents\Fórum\palavras.txt","r")

No seu caso, substitua o caminho pelo endereço que se encontra o arquivo palavras.txt no seu computador.

Caso ainda o erro persista: tente apagar o arquivo palavras.txt e criá-lo novamente.

Se o erro continuar fique tranquilo, estou por aqui e buscaremos outras alternativas, tá bom?

Abraços!

Opa Nádia, não sei o que aconteceu, mas algumas horas depois ele voltou a funcionar. Fiquei um pouco preocupado, pois não imagino o que pode ter acontecido. Para 2 arquivos .py diferentes com o mesmo código, um dava problema e outro não. De qualquer forma, voltou a funcionar os scripts. Obrigado pela atenção.