Il modulo subprocess in Python è utilizzato per eseguire nuovi processi, connettersi ai loro input/output/errori pipelines e ottenere i loro codici di ritorno.
Ecco un esempio di come si può utilizzare il modulo subprocess:
```
import subprocess
subprocess.run([“ls”, “-l”]) # esegue il comando ls -l
```
In questo esempio, `run()` eseguirà il comando definito e aspetterà che il comando termini.
Se vuoi acquisire l’output di un comando, puoi usare il parametro `capture_output`:
```
import subprocess
result = subprocess.run([“ls”, “-l”], capture_output=True, text=True)
print(result.stdout) # stampa l’output del comando
```
Se vuoi eseguire un comando e controllare direttamente il suo input, puoi usare `Popen()`, che è un metodo molto più flessibile:
```
import subprocess
p = subprocess.Popen([“grep”, “hello”], stdin=subprocess.PIPE)
p.communicate(b’hello\nworld\n’)
```
In questo esempio, `Popen()` esegue il comando grep e comunicate gli passa due righe di input: “hello” e “world”. Il comando grep stampa solo le righe che contengono la stringa “hello”, quindi l’output sarà solo la prima riga.
Attenzione: il modulo subprocess può eseguire qualsiasi comando, quindi è potenzialmente molto pericoloso se si eseguono comandi non fidati. Assicurati di controllare sempre e di sanificare adeguatamente gli input se stai lavorando con comandi basati sull’input dell’utente o altre fonti non sicure.