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:
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
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
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!!!
Pues ya que estás, ¿sabes porqué nunca me funciona esto?:
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.
no te he entendido muy bien, pero creo que viene a ser siendo esto.....
f = open( "myfile.txt", "w" )
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.
Truco: Pueden hacer esto
archivo = open('loquesea.txt', 'r')
for linea in archivo:
print linea
Y asì en el ciclo for, automàticamente, se leera linea por linea!!