Dino Geek, intenta ayudarte

¿Cómo usar el módulo de subprocesos en Python?


El módulo de subprocesos en Python permite que tu programa cree y controle nuevos procesos. Proporciona la capacidad de iniciar un nuevo proceso (un nuevo programa) desde tu programa de Python, pudiendo también controlar su entrada, salida y error estandar, y obtener su código de retorno.

Primero, hay que importar el módulo de subprocesos:

```python
import subprocess
```

Para iniciar un nuevo proceso, se utiliza `subprocess.run()`. Por ejemplo, si quieres ejecutar el comando `ls -l` en un sistema Unix:

```python
import subprocess

subprocess.run([“ls”, “-l”])
```

`subprocess.run()` toma una lista de argumentos. El primer artículo es el nombre del programa para ejecutar. Los argumentos restantes son argumentos pasados al programa que estás ejecutando.

`subprocess.run()` espera hasta que el proceso se complete, luego devuelve un objeto `CompletedProcess`.

Si necesitas capturar la salida estándar del subproceso, puedes pasar el argumento `stdout=subprocess.PIPE`:

```python
import subprocess

result = subprocess.run([“ls”, “-l”], stdout=subprocess.PIPE)

  1. print the output
    print(result.stdout.decode()) # decode() is used to convert bytes to string
    ```

Si quieres pasar datos a la entrada estándar de un proceso, puedes usar el argumento `input`, pero antes de ello necesitarás incluir `stdin=subprocess.PIPE` en la llamada a `run()`:

```python
import subprocess

result = subprocess.run([“grep”, “search_text”], input=“input_text”, encoding=‘utf-8’, stdout=subprocess.PIPE)

print(result.stdout)
```

Puedes manejar la excepción procesando usando `CalledProcessError` si el proceso devuelto no es cero:

```python
import subprocess

try: result = subprocess.run([“false”], check=True)
except subprocess.CalledProcessError as e: print(f“subprocess error: {e}”)
```


Genera artículos simplemente para optimizar tu SEO
Genera artículos simplemente para optimizar tu SEO





DinoGeek ofrece artículos sencillos sobre tecnologías complejas

¿Desea ser citado en este artículo? Es muy sencillo, contáctenos en dino@eiki.fr.

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nombre de dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Aviso legal / Condiciones generales de uso