Det finns flera sätt att köra ett kommando på skalet utan att skapa en ny underordnad process. Här är några vanliga tillvägagångssätt:
- Använd modulen `subprocess` :"Subprocess"-modulen i Python tillhandahåller en mängd olika funktioner för att köra skalkommandon och interagera med deras utdata. Ett vanligt sätt att köra ett kommando utan att skapa en ny process är att använda funktionen `subprocess.run()` med argumentet `shell=True`. Till exempel:
``` python
import underprocess
Kör ett kommando utan att skapa en ny process
output =subprocess.run(["ls", "-l")], capture_output=True, shell=True).stdout
Skriv ut resultatet
print (output)
```
- Använd 'os'-modulen :'os'-modulen i Python tillhandahåller också flera funktioner för att interagera med operativsystemet, inklusive möjligheten att köra skalkommandon. För att köra ett kommando utan att skapa en ny process kan du använda funktionen `os.system()`. Till exempel:
``` python
importera os
Kör ett kommando utan att skapa en ny process
os.system("ls -l")
```
- Använd en skalkontexthanterare :Python har också en kontexthanterare som heter `subprocess.Popen` som låter dig köra kommandon utan att skapa en ny process. Kontexthanteraren tar hand om att stänga processen när du är klar med den. Till exempel:
``` python
import underprocess
Kör ett kommando utan att skapa en ny process
med subprocess.Popen(["ls", "-l"], stdout=subprocess.PIPE, universal_newlines=True) som process:
# Läs utdata från kommandot
output =process.stdout.read()
Skriv ut resultatet
print (output)
```
Var och en av dessa tillvägagångssätt har sina egna fördelar och nackdelar, och det bästa valet för ditt specifika användningsfall beror på dina krav och preferenser.