7.2. Manipulación de archivos¶
Para escribir o leer cadenas de caracteres para/desde archivos (otros tipos deben ser convertidas a cadenas de caracteres). Para esto Python incorpora un tipo integrado llamado file, el cual es manipulado mediante un objeto archivo el cual fue generado a través de una función integrada en Python, a continuación se describen los procesos típicos y sus referencias a funciones propias del lenguaje:
7.2.1. Abrir archivo¶
La forma preferida para abrir un archivo es usando la función integrada open().
7.2.2. Leer archivo¶
La forma preferida para leer un archivo es usando algunas de los métodos del tipo objeto file como read(), readline() y readlines().
7.2.3. Escribir archivo¶
La forma preferida para escribir un archivo es usando el método del tipo objeto file llamado write().
7.2.4. Cerrar archivo¶
La forma preferida para cerrar un archivo es usando el método del tipo objeto file llamado close().
7.2.5. Archivos con modulo os¶
El módulo os
de Python le permite a usted realizar operaciones dependiente del
Sistema Operativo como crear una carpeta, listar contenidos de una carpeta, conocer
acerca de un proceso, finalizar un proceso, etc. Este módulo tiene métodos para ver
variables de entornos del Sistema Operativo con las cuales Python esta trabajando
en mucho más. Aquí la documentación
Python para el módulo os
.
A continuación algunos útiles métodos del módulo os
que pueden ayudar a manipular
archivos y carpeta en su programa Python:
Crear una nueva carpeta
>>> import os
>>> os.makedirs("Ana_Poleo")
Listar el contenidos de una carpeta
>>> import os
>>> os.listdir("./")
['Ana_Poleo']
Mostrar el actual directorio de trabajo
>>> import os
>>> os.getcwd()
'/home/usuario/python/'
Mostrar el tamaño del archivo en ``bytes`` del archivo pasado en parámetro
>>> import os
>>> os.path.getsize("Ana_Poleo")
4096
¿Es un archivo el parámetro pasado?
>>> import os
>>> os.path.isfile("Ana_Poleo")
False
¿Es una carpeta el parámetro pasado?
>>> import os
>>> os.path.isdir("Ana_Poleo")
True
Cambiar de directorio
>>> import os
>>> os.chdir("Ana_Poleo")
>>> os.getcwd()
'/home/usuario/python/Ana_Poleo'
>>> os.listdir("./")
[]
>>> os.chdir("../")
>>> os.getcwd()
'/home/usuario/python'
Renombrar un archivo
>>> import os
>>> os.rename("Ana_Poleo", "Ana_Carolina")
>>> os.listdir("./")
['Ana_Carolina']
Eliminar un archivo
>>> import os
>>> os.chdir("Ana_Carolina")
>>> archivo = open(os.getcwd() + "/datos.txt", "w")
>>> archivo.write("¡Se Feliz!")
>>> archivo.close()
>>> os.getcwd()
'/home/usuario/python/Ana_Carolina'
>>> os.listdir("./")
['datos.txt']
>>> os.remove(os.getcwd() + "/datos.txt")
>>> os.listdir("./")
[]
Eliminar una carpeta
>>> os.rmdir("Ana_Carolina")
>>> os.chdir("Ana_Carolina")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file or directory: 'Ana_Carolina'
Lanza una excepción OSError cuando intenta acceder al directorio que previamente elimino y este no encuentra.
7.2.6. Ejemplos de archivos¶
A continuación, se presentan algunos ejemplos del uso del tipo objeto file:
Iterar un archivo para leerlo
Usted puede iterar sobre un archivo como se muestra a continuación:
>>> archivo = open("datos.txt", "r")
>>> for linea in archivo:
... print(linea)
...
Este es una prueba
y otra prueba
>>> archivo.close()
Iterar un archivo con escritura y lectura
Usted puede manipular un archivo con permisos de escritura y lectura, ademas de interactuar de el mismo como se muestra a continuación:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
7.2.7. Ayuda integrada¶
Usted puede consultar toda la documentación disponible sobre los tipos objeto file desde la consola interactiva de la siguiente forma:
>>> help(file)
Para salir de esa ayuda presione la tecla Q.
Importante
Usted puede descargar el código usado en esta sección haciendo clic
aquí
.
Truco
Para ejecutar el código archivo.py
, abra una consola de comando, acceda al
directorio donde se encuentra el mismo, y ejecute el siguiente comando:
$ python archivo.py
Ver también
Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.
¿Cómo puedo ayudar?
¡Mi soporte está aquí para ayudar!
Mi horario de oficina es de lunes a sábado, de 9 AM a 5 PM. GMT-4 - Caracas, Venezuela.
La hora aquí es actualmente 7:35 PM GMT-4.
Mi objetivo es responder a todos los mensajes dentro de un día hábil.
