dimarts, 27 de desembre del 2011

Lectura d'un fitxer en Python

Quan es llegeix un fitxer txt, tot i que no es vegi, al final de cada línia hi ha una mena de retorn de carro amb el codi /n. Exemple

Tot i que veiem això:

Anec,gallina,peix,granota
Ratolí,sargantana,,porquet
Gos,guineu,gat,talp

En realitat, internament, consta:

Anec,gallina,peix,granota/n
Ratolí,sargantana,,porquet/n
Gos,guineu,gat,talp

Es a dir, en cada linia -excepte en la final- hi ha una ordre per saltar de línia.

Si fem servir aquest codi el resultat fa que la /n generi una lína en blanc a sota de cada línia visible.








Ho podem resoldre d'aquesta manera:







Què hem fet? Hem obert el fitxer. Com que està en la mateixa carpeta que phytong no ha calgut escriure la ruta. Si ho haguessim hagut de fer cal recordar que en Python haguès estat:
"C:\\Carpeta1\\Carpeta2\\Bitxos.txt"" es a dir, amb dues barres.

Hem carregat la variable fitxer amb open(RUTA,MODE).

El mode pot ser "r" read, "w" write o "a" append.

Hem recorregut tot el fitxer des de la primera línia

Si la darrera línia conte "\n" la escribim però sempre el darrer valor. Així evitem que s'executi el salto de carro. Quan s'acaba el if, també s'escriu aquella línia: la darrera línia no te retorn de carro.

Ho teniu força bé explicat a
Tutorial de Python en Español # 46 - Leer Ficheros por Linea
http://www.youtube.com/watch?v=OS6M7gRyDBE&feature=related

Cap comentari:

Publica un comentari a l'entrada