3
respostas

O arquivo .txt não pode ser localizado no diretório.

Olá, finalizei meu jogo da Forca.py, mas quando tento rodar dentro da IDE ele não localiza o arquivo.txt, aparece o erro

Traceback (most recent call last): File "c:\Users\Samuel\Desktop\Exercicios de Python\Jogo\Forca.py", line 59, in jogar() File "c:\Users\Samuel\Desktop\Exercicios de Python\Jogo\Forca.py", line 9, in jogar arquivo = open('teste.txt', 'r') FileNotFoundError: [Errno 2] No such file or directory: 'teste.txt'

Mas o arquivo está dentro da mesma pasta, e quando rodo o jogo pelo terminal, funciona normal.

O arquivo .txt não pode ser localizado no diretório.

Alguém poderia me ajudar? Obrigado!

3 respostas

Bom dia, tudo bem? Se der, posta teu código todo que pode ter mais alguma coisa aí faltando, linha 59 algo de módulo tá sendo dito ali em baixo também porque até onde eu vi aparenta tá tudo certo

E outra pergunta qual terminal você pra rodar no ide?

Olá Pedro, o código não chega a linha 59, vou postar ele aqui abaixo, e o jogo roda no terminal do windowns, vou colocar uma print também.

import random

def jogar():

print("*" * 32)
print("** Bem-Vindo ao jogo da Forca **")
print("*" * 32)

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

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

arquivo.close()

numero = random.randrange(0,len(palavras))
palavra_secreta = palavras[numero].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
            index += 1
    else:
        erros += 1

    enforcou = erros == 6
    acertou = "_" not in letras_acertadas
    print(letras_acertadas)

if(acertou):
    print("Você ganhou!!")
else:
    print("Você perdeu!!")
print("Fim do jogo")

if(name == "main"): jogar()

CMD Jogo funciona normal

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software