Cómo comprobar si un archivo está vacío en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo comprobar si un archivo está vacío en Python. Primero, crearás un archivo vacío llamado my_empty_file.txt utilizando el comando touch en la terminal. Luego, verificarás su creación y tamaño utilizando los comandos ls -l y stat.

A continuación, utilizarás la función os.path.getsize() en Python para determinar programáticamente el tamaño del archivo. Crearás un script de Python llamado check_size.py e implementarás la lógica para comprobar si my_empty_file.txt está vacío en función de su tamaño.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/FileHandlingGroup -.-> python/file_opening_closing("Opening and Closing Files") python/FileHandlingGroup -.-> python/file_reading_writing("Reading and Writing Files") python/FileHandlingGroup -.-> python/file_operations("File Operations") python/PythonStandardLibraryGroup -.-> python/os_system("Operating System and System") subgraph Lab Skills python/importing_modules -.-> lab-559512{{"Cómo comprobar si un archivo está vacío en Python"}} python/file_opening_closing -.-> lab-559512{{"Cómo comprobar si un archivo está vacío en Python"}} python/file_reading_writing -.-> lab-559512{{"Cómo comprobar si un archivo está vacío en Python"}} python/file_operations -.-> lab-559512{{"Cómo comprobar si un archivo está vacío en Python"}} python/os_system -.-> lab-559512{{"Cómo comprobar si un archivo está vacío en Python"}} end

Definir un archivo vacío

En este paso, aprenderás cómo crear un archivo vacío utilizando la terminal en el entorno LabEx. Crear archivos vacíos es una operación fundamental en muchas tareas de programación y administración de sistemas. Utilizarás el comando touch, una utilidad estándar en Linux, para lograr esto.

  1. Abre la terminal en el WebIDE. La ruta predeterminada de la terminal es ~/project.

  2. Para crear un archivo vacío llamado my_empty_file.txt, escribe el siguiente comando en la terminal y presiona Enter:

    touch my_empty_file.txt

    Este comando creará un archivo vacío llamado my_empty_file.txt en tu directorio actual (~/project).

  3. Para verificar que el archivo se ha creado, puedes utilizar el comando ls:

    ls -l my_empty_file.txt

    Deberías ver una salida similar a esta:

    -rw-r--r-- 1 labex labex 0 Oct 26 14:35 my_empty_file.txt

    El 0 en la salida indica que el archivo está vacío (su tamaño es de 0 bytes).

    Si no ves el archivo en la lista, asegúrate de que estás en el directorio ~/project y de que has escrito el comando correctamente.

  4. Alternativamente, puedes comprobar el tamaño del archivo directamente utilizando el comando stat:

    stat my_empty_file.txt

    La salida incluirá el tamaño del archivo:

    File: my_empty_file.txt
    Size: 0               Blocks: 0          IO Block: 4096   regular empty file
    Device: ...

    Nuevamente, un tamaño de 0 confirma que el archivo está vacío.

Comprobar el tamaño con os.path.getsize()

En este paso, aprenderás cómo utilizar la función os.path.getsize() en Python para determinar el tamaño de un archivo. Esta es una función útil para comprobar si un archivo está vacío o para otras tareas de gestión de archivos.

  1. Abre el editor de código del WebIDE.

  2. Crea un nuevo archivo de Python llamado check_size.py en el directorio ~/project.

  3. Añade el siguiente código al archivo check_size.py:

    import os
    
    file_path = "my_empty_file.txt"
    
    file_size = os.path.getsize(file_path)
    
    print(f"The size of {file_path} is: {file_size} bytes")

    Este código primero importa el módulo os, que proporciona funciones para interactuar con el sistema operativo. Luego, define la variable file_path con el nombre del archivo que creaste en el paso anterior (my_empty_file.txt). La función os.path.getsize() se utiliza para obtener el tamaño del archivo, y el resultado se almacena en la variable file_size. Finalmente, el código imprime el tamaño del archivo en la consola.

  4. Guarda el archivo check_size.py.

  5. Ejecuta el script de Python desde la terminal:

    python check_size.py

    Deberías ver la siguiente salida:

    The size of my_empty_file.txt is: 0 bytes

    Esto confirma que el archivo my_empty_file.txt está realmente vacío.

Leer contenido y comprobar la longitud

En este paso, aprenderás cómo escribir contenido en el archivo my_empty_file.txt, leer ese contenido utilizando Python y luego comprobar la longitud del contenido. Esto te dará una comprensión básica de las operaciones de lectura y escritura de archivos en Python.

  1. Primero, agreguemos algo de contenido al archivo my_empty_file.txt. Puedes utilizar el comando echo para escribir una cadena en el archivo. En la terminal, escribe el siguiente comando y presiona Enter:

    echo "Hello, LabEx!" > my_empty_file.txt

    Este comando escribirá la cadena "Hello, LabEx!" en el archivo my_empty_file.txt, sobrescribiendo cualquier contenido previo.

  2. Ahora, leamos el contenido del archivo utilizando Python. Abre el editor de código del WebIDE.

  3. Crea un nuevo archivo de Python llamado read_and_check.py en el directorio ~/project.

  4. Agrega el siguiente código al archivo read_and_check.py:

    file_path = "my_empty_file.txt"
    
    with open(file_path, "r") as file:
        content = file.read()
    
    content_length = len(content)
    
    print(f"The content of {file_path} is: {content}")
    print(f"The length of the content is: {content_length} characters")

    Este código abre el archivo my_empty_file.txt en modo lectura ("r"). La declaración with open(...) asegura que el archivo se cierre adecuadamente después de su uso. La función file.read() lee todo el contenido del archivo y lo almacena en la variable content. Luego, se utiliza la función len() para obtener la longitud del contenido (número de caracteres), y el resultado se almacena en la variable content_length. Finalmente, el código imprime el contenido y su longitud en la consola.

  5. Guarda el archivo read_and_check.py.

  6. Ejecuta el script de Python desde la terminal:

    python read_and_check.py

    Deberías ver la siguiente salida:

    The content of my_empty_file.txt is: Hello, LabEx!
    
    The length of the content is: 14 characters

    Esto confirma que el archivo contiene la cadena "Hello, LabEx!" y que la longitud de la cadena es de 14 caracteres (incluyendo el espacio y el signo de exclamación).

Resumen

En este laboratorio, aprendiste cómo comprobar si un archivo está vacío en Python. Primero, creaste un archivo vacío llamado my_empty_file.txt utilizando el comando touch en la terminal y verificaste su creación y tamaño (0 bytes) utilizando los comandos ls -l y stat.

A continuación, comenzaste a explorar el uso de la función os.path.getsize() en Python para determinar el tamaño de un archivo, configurando un archivo check_size.py en el WebIDE para su posterior implementación.