4
respostas

Erro ao rodar forca.py. "No such file or directory: 'palavras.txt' "

def jogar():
    print("*********************************")
    print("***Bem vindo ao jogo da Forca!***")
    print("*********************************")

    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 = input("Qual letra? ")
        chute = chute.strip().upper()
        if(chute in palavra_secreta):
            index = 0
            for letra in palavra_secreta:
                if(chute == letra):
                    letras_acertadas [index] = letra
                    letras_faltando = str(letras_acertadas.count('_'))
                    print('Ainda faltam acertar {} letras'.format(letras_faltando))
                    #print("Encontrei a letra {} na posição {}".format(letra, index))
                index = index + 1
        else:
            erros += 1
            print("Voce errou. Ainda tem {} tentativas".format(6-erros))
        enforcou = erros ==6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)

    if(acertou):
        print("Voce Ganhou")
    else:
        print("Voce perdeu")

if(__name__ == "__main__"):
    jogar()

Ao executar o código recebo a seguinte mensagem:

*********************************
***Bem vindo ao jogo da Forca!***
*********************************
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2018.3.3\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2018.3.3\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "C:/Users/Diogo_a_p/Documents/Alura/Python 3/untitled2/forca.py", line 53, in <module>
    jogar()
  File "C:/Users/Diogo_a_p/Documents/Alura/Python 3/untitled2/forca.py", line 6, in jogar
    arquivo = open("palavras.txt", "r")
FileNotFoundError: [Errno 2] No such file or directory: 'palavras.txt'

Sendo que o arquivo 'palavras.txt' se encontra na mesma pasta que 'jogos.py', 'adivinhacao.py' e 'forca.py'.

4 respostas

Olá Diogo, uma possibilidade é que, no Windows, a extensão do arquivo é "implícita". Então, se você salvou o arquivo como "palavras.txt", e ele foi salvo como arquivo de texto, pode ser que na verdade ele tenha sido salvo como "palavras.txt.txt".

Você pode verificar isso nas propriedades do arquivo.

Depois conta aqui se era esse o problema.

Olá Diogo, você conseguiu resolver o seu problema?

Oi Rômulo. Ainda não tive a oportunidade de testar. Desde que tive esse problema, estou usando um macbook. Assim que tiver a oportunidade de testar no Windows, postarei o resultado aqui! Obrigado pela atenção!!

Ok Diogo, não deixa de avisar não, estamos aqui para ajudar!