Ejecute un comando en cada archivo en una carpeta en Python

Lakshay Kapoor 10 octubre 2023
  1. Use el símbolo del sistema para ejecutar un comando en cada archivo que esté presente en una carpeta en Python
  2. Utilice el módulo os para ejecutar un comando en cada archivo en una carpeta en Python
  3. Utilice el módulo pathlib para ejecutar un comando en cada archivo de una carpeta en Python
Ejecute un comando en cada archivo en una carpeta en Python

Hay muchas operaciones interesantes que podemos realizar en archivos externos usando Python, como extraer variables específicas de un archivo, extraer el texto escrito en un archivo, etc. Una de las operaciones es ejecutar un comando en un archivo Python presente en una carpeta específica usando Python.

Este tutorial demostrará cómo ejecutar un comando en cada archivo que está presente en una carpeta usando Python.

Para este tutorial, asumiremos que dos archivos Python con algunas declaraciones de Python se ejecutarán y almacenarán con la extensión .py presente en un diccionario testFolder.

Estos dos archivos de Python son:

  • sample1.py
print("Hello World")
  • sample2.py
print(1 + 1)

Ahora, suponga que estos dos archivos están almacenados en una carpeta conocida como testFolder. Veamos algunas formas de imprimir estos archivos en Python.

Use el símbolo del sistema para ejecutar un comando en cada archivo que esté presente en una carpeta en Python

Para ejecutar cada archivo que está presente en una carpeta usando la línea de comando de la computadora, necesitamos mencionar la ruta del archivo. El comando que se escribirá en el símbolo del sistema es el siguiente:

python ../testFolder/sample1.py & python ../testFolder/sample2.py

Producción :

Hello World
2

Utilice el módulo os para ejecutar un comando en cada archivo en una carpeta en Python

El módulo os en Python se incluye en los módulos de utilidad estándar de Python. Este módulo ayuda a interactuar con el sistema operativo de la computadora al proporcionar varias funciones y métodos. Este módulo entra en juego principalmente cuando el usuario desea interactuar con el sistema de archivos de la computadora.

En este método, se utilizan un par de métodos del módulo os. Los métodos son os.listdir, os.path.join y os.path.isfile.

El método os.listdir del módulo os ayuda a obtener una lista completa de todos los archivos presentes en un directorio. El argumento de este método es la ruta del directorio. Si no se menciona ningún directorio en el argumento, la lista de todos los archivos presentes en el directorio actual se devolverá de forma predeterminada.

El método os.path.join del módulo os se utiliza para concatenar uno o más de un componente de una ruta específica. Esto se hace mediante un separador también conocido como separador de directorio /.

El método os.path.isfile del módulo os ayuda a comprobar si el archivo está presente en la ruta especificada o no. El argumento de este método es siempre la ruta del archivo.

import os

directory_name = "random"

for file_name in os.listdir(directory_name):
    i = os.path.join(directory_name, file_name)
    if os.path.isfile(i):
        print(i)

Producción :

Hello World
2

Utilice el módulo pathlib para ejecutar un comando en cada archivo de una carpeta en Python

El módulo pathlib de Python se incluye en los módulos de utilidad estándar. Este módulo ayuda a proporcionar rutas de archivo en forma de clases y proporciona la semántica adecuada para tratar con los sistemas operativos.

En este método, se utiliza la función path.glob() del módulo pathlib, que básicamente ayuda a acceder a todos los archivos en el directorio dado.

from pathlib import Path

directory_name = "random"

open_files = Path(directory_name).glob("*")
for file in open_files:
    print(file)

Producción :

Hello World
2
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

Artículo relacionado - Python Directory