Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Division-x en 14 Enero 2007, 15:40 pm



Título: [python] archivos externos, manejo
Publicado por: Division-x en 14 Enero 2007, 15:40 pm
pego aqui tambien el mni tuto que hice para mi pagina prog-python.org (http://prog-python.org) espero que guste... :D

En este “mini” tutorial, voy a explicar un poco la manera de trabajar con archivos externos a python.

Comencemos:

Código:
nombre = 'nuevo.txt’	#creamos el archivo, mas bien le asignamos un nombre
archivo=open(nuevo.txt, 'w') #lo abrimos
archivo.close() #lo cerramos

en la primera linea lo que hemos hecho es llamar la creación de un objeto *.txt que luego, en la segunda linea abrimos, notese que lo abrimos en modo escritura (‘w’), y en la tercera linea lo cerramos con el comando “close”.
Haste aquí es muy sencillo, ahora lo que haremos es meterle algo a ese archivo que antes hemos creado

Código:
nombre = 'nuevo.txt'
contenido = 'aquí podriamos poner un raw_input, por ejemplo.'
archivo=open(Nuevo, 'w')
archivo.write(contenido) #añadimos el contenido de la cadena
archivo.close()

observemos que con la sentencia “write” es con la que añadimos algo al objeto creado anteriormente, por lo demas, el codigo es identico al anterior
ahora lo que necesitamos es devolver lo que hemos añadido


Código:
nombre = 'nuevo.txt'
archivo=open(nuevo, 'r') #observese la “r”
salida = archivo.readlines() #le ordenamos leer el archivo
archivo.close() #cerramos
print salida #devolvemos el resultado

aquí abrimos el archivo en modo “r” read, no en modo “w” write, puesto que no vamos a escribir nada, solo necesitamos leerlo, este ejemplo, pese a que si eres nuevecillo en python, lo veras comodo, descubriras que es mucho mas comodo si declaras una funcion…. Pero eso lo dejo a vuestra libre eleccion.

S4lu2!!!


Título: Re: [python] archivos externos, manejo
Publicado por: Ragnarok en 21 Enero 2007, 04:52 am
Pues ya que estás, ¿sabes porqué nunca me funciona esto?:

Código:
with open('myfile.txt', 'w') as f:

No sé si hay que hacer un import o algo pero me da error ("SyntaxError: invalid syntax") señalando la 'n' de open. Si lo pongo como comentas arriba funciona bien, pero quería hacer esto porque me parece bastante más cómodo cuando son cosas pequeñas.


Título: Re: [python] archivos externos, manejo
Publicado por: Division-x en 21 Enero 2007, 15:33 pm
no te he entendido muy bien, pero creo que viene a ser siendo esto.....

Código:
f = open( "myfile.txt", "w" )


Título: Re: [python] archivos externos, manejo
Publicado por: Ragnarok en 21 Enero 2007, 19:49 pm
No, eso que pones sí que me funciona, pero quiero hacer lo otro, para que lo cierre solo aunque salte alguna excepción o pase cualquier cosa.


Título: Re: [python] archivos externos, manejo
Publicado por: SirLanceCC en 22 Enero 2007, 15:59 pm
Truco: Pueden hacer esto
Código:
archivo = open('loquesea.txt', 'r')
for linea in archivo:
    print linea
Y asì en el ciclo for, automàticamente, se leera linea por linea!!