Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro ao abrir e ler arquivo com open()

Bom dia quando uso o comando abaixo para abrir um arquivo qualquer no diretório que meu script esta rodando recebo um erro e não é possível encontrar o arquivo.

with open(arquivo.txt, "r", encoding="utf-8") as arquivo:

Uso a IDE VSCode com Python 3.8.5 através do anaconda.

Ao pesquisar sobre o assunto encontrei uma forma de colocar para rodar com pacote os.path conforme abaixo:

from os.path import realpath, dirname

caminho_arq = f'{dirname(realpath(__file__))}\\arquivo.txt'
    with open(caminho_arq, "r", encoding="utf-8") as arquivo:

Funcionou perfeitamente, mas gostaria de saber se existe outra forma e se usei a forma mais adequada, enfim entender a solução.

Obrigado.

2 respostas

Oi Livio! Tudo tranquilo por aí?

Acredito que esse erro tenha ocorrido porque você esqueceu de colocar o arquivo.txt entre aspas. O correto seria assim:

with open("arquivo.txt", "r", encoding="utf-8") as arquivo:

Tenta fazer dessa forma e pra gente ver se funciona certinho :)

Qualquer dúvida você me fala, estarei por aqui.

Bons estudos!

solução!

Bom dia, obrigado por responder: Mas eu já tinha tentado com as "", segue o erro:

PS C:\Users\Avell\OneDrive\Cursos\Alura\Formação Python\Exercicios> & C:/Users/Avell/anaconda3/python.exe "c:/Users/Avell/OneDrive/Cursos/Alura/Formação Python/Exercicios/Jogos/forca.py"
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
           Bem vindo ao jogo da Forca!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Traceback (most recent call last):
  File "c:/Users/Avell/OneDrive/Cursos/Alura/Formação Python/Exercicios/Jogos/forca.py", line 167, in <module>
    jogar()
  File "c:/Users/Avell/OneDrive/Cursos/Alura/Formação Python/Exercicios/Jogos/forca.py", line 7, in jogar
    palavra_secreta = carrega_palavra_secreta('palavras.txt')
  File "c:/Users/Avell/OneDrive/Cursos/Alura/Formação Python/Exercicios/Jogos/forca.py", line 118, in carrega_palavra_secreta
    with open("palavras.txt", "r", encoding="utf-8") as arquivo:
FileNotFoundError: [Errno 2] No such file or directory: 'palavras.txt'
PS C:\Users\Avell\OneDrive\Cursos\Alura\Formação Python\Exercicios> 

O erro estava no diretório do meu terminal:

meu terminal esta em:

C:\Users\Avell\OneDrive\Cursos\Alura\Formação Python\Exercicios>

e meu scrip e arquivo txt estava em:

c:/Users/Avell/OneDrive/Cursos/Alura/Formação Python/Exercicios/Jogos/forca.py

ao fazer o comando no terminal cd Jogos, resolveu o problema.

Obrigado pela ajuda.