Sort TXT lines in numerical order

0

I need to invert all the columns of my txt file, using python. Txt file (example):

Regra n10 - exemplo
Regra n9 - exemplo
Regra n8 - exemplo
Regra n7 - exemplo
Regra n6 - exemplo
Regra n5 - exemplo
Regra n4 - exemplo
Regra n3 - exemplo
Regra n2 - exemplo
Regra n1 - exemplo

As I said, I need to reverse, getting:

Regra n1 - exemplo
Regra n2 - exemplo
Regra n3 - exemplo
Regra n4 - exemplo
Regra n5 - exemplo
Regra n6 - exemplo
Regra n7 - exemplo
Regra n8 - exemplo
Regra n9 - exemplo
Regra n10 - exemplo

There is already a numerical order, it is only reversed, I just need to change the order of all the rows, reverse the order of all. I'm using Python 2.7 !

    
asked by anonymous 29.05.2018 / 16:22

1 answer

1

If they fit in memory is very simple. You read all the lines in the file, and then scroll through them in reverse order.

arquivo = open("nomearquivo.txt", "r")
conteudo = arquivo.readlines()
arquivo.close()
arquivo_saida = open("novoarquivo.txt","w")
for linha in conteudo[::-1]:
    arquivo_saida.write(linha)
arquivo_saida.close()
    
29.05.2018 / 20:02