Edição de arquivos - alterar ultimo item de cada linha e gravar

1. Edição de arquivos - alterar ultimo item de cada linha e gravar

Lucas Emanoel da Fonseca
lucasonguitar

(usa Ubuntu)

Enviado em 24/09/2015 - 09:28h

Bom dia, tenho que fazer a edição de um arquivo, onde preciso trocar os ultimos itens das linhas que estejam vazio por "?". Eu leio as linhas, separo cada linha em uma lista com o readlines, e as palavras separadas por ",".
Ex. 1,2,3,4,5,>vazio<

aonde esta vazio preciso substituir por "?", meu codigo faz isso porem nao consigo gravar no arquivo original, ou seja, substituir, preciso de ajuda!

f = open('visualizacoes.arff', 'r+')
linhas = f.readlines()


for i in range(5929781):
if i >= 18:
x=linhas[i].split(',')
if x[-1] == '\n' or x[-1]==' \n':
x[-1] = '?\n'



  


2. Re: Edição de arquivos - alterar ultimo item de cada linha e gravar

Renan Arantes
R3nan

(usa Debian)

Enviado em 24/09/2015 - 09:49h


se o seu script ja faz o que vc quer e a saida é exibida no monitor corretamente, basta vc usar o redirecionador de saida para um arquivo.


$ python MeuScript.py > arquivoNovo.txt


3. Re: Edição de arquivos - alterar ultimo item de cada linha e gravar

Lucas Emanoel da Fonseca
lucasonguitar

(usa Ubuntu)

Enviado em 24/09/2015 - 10:03h

R3nan escreveu:


se o seu script ja faz o que vc quer e a saida é exibida no monitor corretamente, basta vc usar o redirecionador de saida para um arquivo.


$ python MeuScript.py > arquivoNovo.txt



Não deu certo, com esse comando ele printa do mesmo formato que está as linhas do arquivo, ['x,y,u,o,'] a lista



4. Re: Edição de arquivos - alterar ultimo item de cada linha e gravar

Fernando
phoemur

(usa Debian)

Enviado em 04/10/2015 - 20:37h

Se você usou .split(',')
o mais sensato seria usar ','.join(lista) que é o método reverso para concatenar uma lista para string denovo...

Outra abordagem seria importar o módulo re e usar expressões regulares para substituir, ex.:
re.sub('\n', '\?\n', conteúdo)

ou então usar o módulo csv (coma separated values)

Enfim, as possibilidades são muitas







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts