Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: flony en 28 Marzo 2016, 00:31 am



Título: [python] manejo de caracteres en un txt
Publicado por: flony en 28 Marzo 2016, 00:31 am
hola como están, hace una bocha no agarro esto de programar  ;D ;D
bueno mi problema es el siguiente, tengo un txt que es así
Citar
'jajaja':1234567890,
y quiero que quede así
Citar
1234567890:'jajaja',
el code que tengo es el siguiente, si me pueden dar una mano estaría genial  ;-) ;-)
Código:
def leerArchivo():
    
    archivo=open('3.txt', 'r')
    linea=archivo.readline()
    while linea!= "":
        resultado = [: linea.index(':')]
         resultado1 = [linea.index(':') :]
         #aca escribir la nueva linea resultado + resultyado1 +','
        



Título: Re: [python] manejo de caracteres en un txt
Publicado por: tincopasan en 28 Marzo 2016, 03:22 am
bueno, hay muchas formas de hacerlo, me gusta inclinarme por las más fáciles de entender, así se aprenden rápido y no necesitan explicación.En tu ejemplo el txt tiene una sola línea y la división parace ser por el caracter (:), pero pensé que podría tener más líneas, por lo tanto hice un txt de 3 líneas:
'jajaja':0123456789
'jejeje':12503760
'jojojo':25122016
 y el código python:
Código
  1. def leerArchivo():
  2.  
  3.    archivo=open('3.txt', 'r')
  4.    lista=[]
  5.    for linea in archivo:
  6.        cadena=linea[:-1]
  7.        resultado= cadena.split(":")
  8.        lista=resultado
  9.        lista.reverse()  
  10.        final=":".join(lista)
  11.        print(final)      
  12.    archivo.close()    
  13. leerArchivo()        
  14.  

espero que te oriente.

edito:
me quedé pensando y quizà es muy odioso dar otra solución,así que:
Código
  1. def leerArchivo():
  2.  
  3.    archivo=open('3.txt', 'r')
  4.    for linea in archivo:
  5.        resultado = linea[:linea.index(':'):]
  6.        resultado1= linea[linea.index(':') + 1:-1:]
  7.        final= resultado1 + ":"+resultado #aca escribir la nueva linea resultado + resultyado1 +','
  8.        print (final)
  9.    archivo.close()
  10.  
  11. leerArchivo()  
  12.  

otra forma para final
Código
  1. final="{}:{}".format(resultado1,resultado)    

mirá las diferencias en el código.


Título: Re: [python] manejo de caracteres en un txt
Publicado por: flony en 29 Marzo 2016, 18:33 pm
 ;D ;D ;D
gracias ya me lo pongo a ver y si eran varios renglones