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

no console do python nao consigo abrir no diretorio onde esta o arquivo

alem de nao conseguir abrir no diretorio do aquivor com a funçãp "pwd" eu tambem nao consigo ler o arquivo com a função read. vou colocar o passo a passo de como estou fazendo. arquivo_novo = open("novo.txt", "a") arquivo_novo.write("tst1") arquivo_novo.write("tst22") arquivo_novo.write("tst33") arquivo_novo.close() arquivo_novo.read()

apos feito aparece a mensagem no terminal: Traceback (most recent call last): File "", line 1, in ValueError: I/O operation on closed file.

3 respostas

Fabricio,

Alguns exemplos deste curso são feitos no console do Python, atenção quanto a isso, quando vc esta escrevendo um script, vc tem que colocar todos os passos encadeados com lógica computacional. Vc fez quase tudo certo, só na ultimas duas linha vc fechou o arquivo_novo, arquivo_novo.close() e logo em depois, arquivo_novo.read(). O correto é como coloco abaixo:

#Abri o arquivo no modo append
arquivo_novo = open("novo.txt", "a") 
# Adiciona as linhas, o \n e para criar quebra de linha
arquivo_novo.write("tst1\n")
arquivo_novo.write("tst22\n")
arquivo_novo.write("tst33\n")
#Fecha o arquivo, com ele fechado não dá para acrescentar mais nada
arquivo_novo.close()

#Abri o arquivo de novo, no modo leitura
arquivo_novo = open('novo.txt', 'r')
# usa o FOR para iterar a linhas do arquivo, e imprimir na tela o conteúdo do arquivo. 
for linha in arquivo_novo:
    print(linha)
#Fecha o arquivo, com ele fechado não dá para ler mais nada
arquivo_novo.close()

OBS: O # são comentários para ajudar no entendimento da lógica do Python, espero ter ajudado, qualquer coisa estamos por aqui!

OBS; Dá uma linda na aba "FORMATAÇÃO" para ver como configurar melhor sua perguntas no fórum!

Ja foi solucionado meu erro com sua resposta porem ainda nao consigo abrir o arquivo no local correto. O "pdw" nao funciona em meu console e nao sei como encontrar o arquivo no local correto.

solução!

O "pwd" este comando é do linux, então, suponho que vc esteja usando alguma distribuição linux ou o Git Bash no Windows. Do jeito que vc escreveu o script, ele procura o:

arquivo_novo = open("novo.txt", "a")

no mesmo diretório que vc esta executando o Script. Se o arquivo não existir ele cria o arquivo, se o arquivo existir ele acrescenta mais linhas. Se o arquivo estiver em outro diretório, por exemplo no diretório auxiliar(sub-pasta) ou vc coloca o caminho completo ou assim:

arquivo_novo = open("apoio/novo.txt", "a")

eu criei um diretório(ou sub-pasta) chamado apoio e alterei o script para refletir a mudança:

arquivo_novo = open("apoio/novo.txt", "a")
arquivo_novo.write("tst1\n")
arquivo_novo.write("tst22\n")
arquivo_novo.write("tst333\n")
arquivo_novo.close()

arquivo_novo = open('apoio/novo.txt', 'r')
for linha in arquivo_novo:
    print(linha)
arquivo_novo.close()

Obs.: Se resolver seu problema, coloque como respondida por min a sua pergunta! Espero ter ajudado!!