Dino Geek, probeer je te helpen

Hoe subprocesmodule in Python te gebruiken?


De subprocess-module in Python is handig als je een proces wilt starten, input wilt doorgeven aan dat proces en de output wilt krijgen. Je kunt het beschouwen als een manier om de command shell van je systeem te openen en commando’s uit te voeren.

Het kan heel nuttig zijn als je bijvoorbeeld een Python-script hebt dat andere software moet starten, of als je een manier nodigt hebt om bash-script commando’s uit te voeren in een Python-programma.

Hier zijn enkele basismanieren om de subprocess-module te gebruiken:

Een proces starten

Het starten van een proces met de subprocess-module is eenvoudig. Je roept gewoon de `subprocess.run() `-functie aan en geeft een lijst door van de naam van het proces en alle argumenten die je wilt doorgeven.

Je kunt bijvoorbeeld het volgende doen om “echo” te roepen met “Hello, world!” als argument:

```
import subprocess

subprocess.run([“echo”, “Hello, world!”])
```

Werken met de output

Als je de output van een subprocess naar je script moet doorsturen (in plaats van naar de console), kun je de `capture_output`-argument naar `run()` op `True` instellen. Dit zal de output vastleggen en teruggeven in het `subprocess.CompletedProcess`-object dat `run()` geeft.

Hier is een voorbeeld:

```
import subprocess

result = subprocess.run([“echo”, “Hello, world!”], capture_output=True, text=True)

print(result.stdout)
```

In deze code probeer je “Hello, world!” te echoën en de output te vangen. Merkt op dat ik ook `text=True` heb doorgegeven, zodat de output als een string wordt geïnterpreteerd in plaats van als bytes.

Doorsturen van input

Als je input moet doorgeven aan een subprocess, kun je de `input`-parameter van `run()` gebruiken, zoals dit:

```
import subprocess

result = subprocess.run([“sort”], input=“banana\napple\ncherry”, capture_output=True, text=True)

print(result.stdout)
```

Deze code probeert de ‘sort’-opdracht te geven (die items sorteert die het ontvangt via stdin) met een set ongesorteerde woorden. Het vangt vervolgens de output op en drukt deze af.

Vergeet niet dat om deze manier te gebruiken, je nodig hebt om het commando dat je wilt uitvoeren door voedt input of output in de geschikte manier. Als bijvoorbeeld je probeert om input voor een commando dat niet luistert naar stdin te voeden, dan zou het gewoon genegeerd worden.


Genereer eenvoudig artikelen om uw SEO te optimaliseren
Genereer eenvoudig artikelen om uw SEO te optimaliseren





DinoGeek biedt eenvoudige artikelen over complexe technologieën

Wilt u in dit artikel worden geciteerd? Het is heel eenvoudig, neem contact met ons op via dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Domeinnaam | 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 |






Juridische Vermelding / Algemene Gebruiksvoorwaarden