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:

  1. Gestión de archivos en Python: archivos y rutas de archivos
  2. 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+, wby 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:

Leave a Reply

Your email address will not be published. Required fields are marked *