Comprender la administración de archivos en Python con ejemplos
En este artículo sobre la administración de archivos con Python, aprenderá a usar el módulo Python OS y cómo moverse entre archivos y carpetas locales. También aprenderá a abrir, leer, escribir y cerrar archivos en Python.
Trabajar con un archivo es una buena manera de guardar datos después de que finalice el programa. Los datos recibidos del programa de computadora se almacenan en un archivo y se pueden recuperar más tarde. Python, como muchos otros lenguajes de programación, proporciona métodos convenientes para crear, abrir, leer y escribir datos en un archivo.
Contenido:
- Gestión de archivos en Python: archivos y rutas de archivos
- Gestión de archivos en Python: lectura y escritura de datos
Gestión de archivos en Python: archivos y rutas de archivos
Los archivos son alternativas rápidas para almacenar datos de un programa de computadora. La memoria de acceso aleatorio (RAM) puede almacenar datos solo temporalmente, ya que todos los datos anteriores se pierden inmediatamente después de que se apaga el sistema informático. Se prefieren los archivos porque son un punto de almacenamiento más permanente para la información en una computadora. A expediente es la ubicación en el disco local donde se almacenan los datos. Tiene dos propiedades principales: el nombre del archivo y su ruta.
Uso del módulo del sistema operativo
Python proporciona un módulo de sistema operativo incorporado para interactuar con el sistema operativo de nuestra computadora. Navegar entre carpetas y archivos en Python en el módulo OS, crear carpetas, especificar rutas de archivos, etc. Hay interfaces (funciones) que ayudan a realizar operaciones como
Para usar el módulo OS, lo importamos a nuestro programa como se muestra a continuación:
import os
Cómo obtener el directorio de trabajo actual
En Python, podemos obtener el directorio de trabajo actual usando (cwd). getcwd()
método. Este método devuelve la ruta del directorio en el que estamos trabajando actualmente como una cadena, como se muestra en el siguiente fragmento de código:
import os
directory = os.getcwd()
print(directory)
>>>>
/home/ini/Dev/Tutorial/sitepoint
Caminos absolutos y relativos
Las rutas de archivo se pueden especificar de dos formas: absoluta o relativa. Ambas rutas indican la ubicación actual del archivo.
Él definitivamente ruta del archivo declara su ruta a partir del directorio raíz. La ruta absoluta se ve así:
/home/ini/Dev/Tutorial/sitepoint/filehandling.py
El directorio raíz (como se ve en el código anterior). home
En el sistema operativo Linux.
Él pariente ruta de archivo declara su ruta relativa al directorio de trabajo actual. Veamos un ejemplo:
./sitepoint/filehandling.py
El código anterior muestra la ruta relativa para un archivo de Python filehandling.py
.
Cómo crear una carpeta en Python
Hay un módulo de sistema operativo mkdir()
Una forma de crear nuevos directorios o carpetas en Python. Él mkdir()
El método toma un argumento, el nombre del directorio, que se creará en el directorio actual como comportamiento predeterminado. Vea el código a continuación:
import os
os.mkdir("photos")
Sin embargo, podemos crear carpetas en una ubicación diferente especificando la ruta del archivo. En el siguiente ejemplo de código, un projects
se crea la carpeta Tutorial
carpeta:
os.mkdir("/home/ini/Dev/Tutorial/projects")
Cuando revisamos el interior Tutorial
carpeta, encontraremos la carpeta recién creada projects
carpeta.
Cómo cambiar el directorio de trabajo actual
Úselo para cambiar entre directorios chdir()
método. La nueva ruta se pasa como argumento al método de cambio desde el directorio de trabajo actual.
Después de crear una nueva carpeta en el ejemplo de código anterior, podemos cambiar la carpeta a la carpeta projects
carpeta:
import os
os.chdir("/home/ini/Dev/Tutorial/projects")
Use para confirmar el cambio en el directorio getcwd()
método que devuelve una cadena del directorio de trabajo actual: /home/ini/Dev./Tutorial/projects
.
Cómo eliminar archivos o carpetas en Python
Los archivos y carpetas se pueden eliminar usando el módulo OS en Python remove()
y rmdir()
métodos respectivamente.
Ingrese la ruta del archivo para eliminar archivos en Python os.remove()
método. Al eliminar archivos, el programa soltará el archivo si el archivo no existe FileNotFoundError
.
Tomemos un ejemplo de código:
import os
os.remove("random.txt")
Úselo para eliminar o borrar un directorio os.rmdir()
pasando la ruta del directorio a eliminar, entonces:
import os
os.rmdir("/home/ini/Dev/Tutorial/projects")
Él projects
se elimina de la carpeta Tutorial
carpeta.
Cómo listar archivos y directorios en Python
Úselo para obtener una visión general de todo el contenido del directorio. os.listdir()
método. Este método devuelve una lista de todos los archivos y carpetas existentes en ese directorio:
import os
print(os.listdir())
>>>>
['array.py', 'unittesting.py', 'search_replace.py', '__pycache__', 'pangram.txt', '.pytest_cache', 'exception.py', 'files.py', 'regex.py', 'filehandling.py']
Gestión de archivos en Python: lectura y escritura de datos
La gestión de archivos en Python es simple y no tan complicada como en otros lenguajes de programación. Hay diferentes modos de acceso a archivos para elegir al abrir un archivo de Python para cualquier operación:
-
r
: abre el archivo para lectura. El modo de lectura arroja un error si el archivo no existe. -
r+
: abre un archivo para leer y escribir datos en el objeto de archivo. Si el archivo no existe, se devuelve un error. -
w
: abre un archivo en este modo para escribir datos. El modo de escritura sobrescribe los datos existentes y crea un nuevo objeto de archivo si no existe. -
w+
: abre un archivo para leer y escribir datos. Los datos existentes en el archivo se descartan cuando se abre en este modo. -
a
: si el archivo existe, el modo de adición se añade al archivo. También crea un nuevo archivo si el archivo no existe. No sobrescribe los datos existentes. -
a+
: este modo abre el archivo para agregar y leer datos. -
x
: el modo de creación se utiliza para crear archivos en Python. Se arroja un error cuando el archivo no existe.
se agrega b
cambiar a cualquiera de los modos de entrada lo cambia del formato de texto estándar al formato binario (p. ej. rb
, rb+
, wb
y así).
Cómo abrir un archivo en Python
Para abrir un archivo en Python open()
se utiliza la función. Toma al menos dos argumentos, un nombre de archivo y una descripción de modo, y devuelve un objeto de archivo. De forma predeterminada, el archivo se abre para lectura en modo de texto, pero podemos especificar que queremos el modo binario en su lugar.
La sintaxis simple para abrir un archivo se ve así:
f = open('filename', 'mode')
Después de este paso, podemos comenzar nuestras operaciones de lectura y escritura en el objeto de archivo como se ve en el código anterior. En el modo estándar, los archivos siempre se gestionan en modo texto.
Cómo cerrar un archivo en Python
Cerramos el archivo después de que se abre el objeto de archivo y se realizan las operaciones de procesamiento de archivos. Este suele ser el último paso para leer o escribir archivos en Python. Un objeto de archivo close()
El método se utiliza para cerrar archivos abiertos previamente.
Cerrar archivos en Python se ve así:
f = open('filename', 'mode')
// file operations, reading, writing or appending
f.close()
Él with
declaración
Es una práctica estándar cerrar archivos después de que se han abierto y se han realizado operaciones de archivo. Después de abrir algunos archivos, es posible que no pueda cerrarlos.
Él with
cierra automáticamente los archivos después de que se completa la última operación de archivo en su alcance. Por ejemplo:
with open('random.txt', 'r') as f:
print(f.read())
>>>>
Hello world!
Hello world!
Como se ve en el fragmento de código anterior, with
cierra implícitamente el archivo después de la declaración print
declaración.
Cómo leer un archivo en Python
Hay varias formas de leer datos de un archivo en Python. Podemos leer el contenido del archivo usando read()
, readline()
y readlines()
métodos.
Él read()
método
Él read()
El método devuelve una cadena de todos los caracteres en el archivo de lectura. El puntero se coloca al principio del contenido del archivo. El modo predeterminado es leer desde el principio hasta el final del archivo, excepto cuando se especifica el número de caracteres.
Eche un vistazo al fragmento de código a continuación:
f = open('random.txt', 'r')
print(f.read())
f.close()
>>>>
This is some random text.
Here is the second line.
The sky is blue.
Roses are red.
Podemos especificar cuántos caracteres leer de un archivo de texto. Simplemente pase el número de caracteres como argumento read()
método:
f = open('random.txt', 'r')
print(f.read(12))
f.close()
>>>>
This is some
Como se ve en el ejemplo anterior, el intérprete lee solo doce caracteres de todo el archivo.
Él readline()
método
Este método lee una línea a la vez de un archivo. Lee desde el principio del archivo y se detiene en el carácter de nueva línea. Vea el ejemplo de código a continuación:
f = open('random.txt', 'r')
print(f.readline())
f.close()
>>>>
This is some random text.
Él readlines()
método
Este método devuelve una lista de todas las líneas del archivo actual que se está leyendo. Vea el fragmento de código a continuación:
f = open('random.txt', 'r')
print(f.readlines())
f.close()
>>>>
['This is some random text.\n', 'Here is the second line.\n', 'The sky is blue.\n', 'Roses are red.']
Nota: todos los métodos para leer un flujo de archivos devuelven un valor vacío cuando se llega al final del archivo. Él seek()
El método devuelve el cursor del archivo al principio del archivo.
Cómo escribir en un archivo en Python
Él write()
En Python, un método es útil cuando se intenta escribir datos en un archivo. Para escribir en un archivo abierto, el modo de acceso debe establecerse en uno de los siguientes: w
, w+
, a
, a+
, y así. Una vez más, el valor predeterminado es el modo de texto, no binario.
Él write()
método
Cuando queramos escribir datos en un archivo de texto, pase un argumento de cadena a este método. Tenga en cuenta que si el archivo existe, el modo de escritura sobrescribirá los datos existentes:
f = open('random.txt', 'w')
f.write("Hello world!")
f.close()
Él writelines()
método
Este método ayuda a insertar varias líneas en un archivo de texto a la vez. Podemos escribir varias líneas en un archivo pasando una lista como argumento a un método:
words = ['The sky is blue', '\nRoses are red']
f = open('random.txt', 'w')
f.writelines(words)
f.close()
El código anterior muestra que se abre un archivo cerrado y algunas líneas en la lista de palabras se insertan a la vez random.txt
Archivo de texto.
El resultado
Hay dos atributos importantes sobre un archivo: el nombre del archivo y su la carretera. El módulo OS nos ayuda a navegar entre carpetas y realizar ciertas operaciones. Incluye el uso de varios métodos para trabajar con archivos de Python abierto, crear, leery escribe información sobre objetos de archivo.
Comprender el manejo de archivos en Python también es importante si queremos interactuar con el contenido dentro de archivos de texto o binarios. Siempre asegúrese de cerrar los archivos después de realizar operaciones en ellos. Él with
hace que el manejo de archivos sea más fácil en Python porque cierra implícitamente los objetos de archivo cuando terminamos.
Lectura relacionada: