Den offisielle Python -dokumentasjonen gir en detaljert forklaring av underprosessen i Python og hvordan du bruker Python -underprosessen med rør, og det er gunstig for forståelse og utviklingsformål. Imidlertid kan den komplette dokumentasjonen være litt overveldende for nybegynnere. Dessuten kan syntaksen variere fra en versjon til en annen versjon av Python, som kan forvirre nybegynnere.
Derfor har vi en løsning for deg, og her forklarer vi trinn-for-trinn-prosessen med å bruke Python-underprosessen med rør. Vi vil forklare prosessen ved hjelp av eksempler, så la oss gå videre for å se eksemplene, men for det første, la oss se hva et rør er for en underprosess i Python. Røret i Python brukes til å sende eller motta data fra et program som kjører som en underprosess i Python. For å gjøre dette, kan vi bruke en kombinasjon av rør som i utgangspunktet skaper røret, en gaffel brukes til å lage underprosessen i programmet, dup2 brukes til å tvinge underprosessen til å bruke røret som en standardinngangs- og utgangskanal, og til slutt, Exec brukes til å utføre eller kjøre det nye programmet. Dessuten brukes popen og pClose til å åpne eller lukke programmet henholdsvis.
Fordelen med å bruke Popen og PClose er at det antyder et enkelt og brukervennlig grensesnitt. Imidlertid gir det ikke mye fleksibilitet fordi den direkte bruker funksjoner på lavt nivå. La oss se eksemplene nedenfor.
Eksempel 1:
Det første eksemplet vil forklare hvordan du koder for kommandoen som inneholder et rør og en omdirigering. La oss se eksemplet:
ZCAT F1.Dat.GZ F2.Dat.gz | Pigz> ut.gzHer er Python -koden som forklarer hvordan du implementerer UNIX -kommandoen med underprosess i Python.
P1 = underprosess.Popen (["ZCAT", "F1.Dat.GZ "," F2.Dat.gz "],Merk at Popen () -metoden brukes med den første underprosessen, mens RUN () -metoden brukes med den andre samtalen som koder for omdirigeringene. Den påfølgende feilen vil være forårsaket hvis RUN () -metoden brukes med selve røret.
Eksempel 2:
Dette eksemplet vil forklare hvordan et Python -program spør en brukers navn. Så ekko er det med en hilsenmelding og ber gjentatte ganger om navnene til brukeren går inn i avkjørselen.'Når brukeren kommer inn i "exit" i svaret med å spørre navnet, stopper IF -tilstanden de gitte kriteriene og utførelsen av programmet. Se koden gitt nedenfor.
Importer SysHer er den gjentatte utdata fra ovennevnte kode som bare stopper når brukeren legger inn ordet 'Avslutt.'
Eksempel 3:
Dette eksemplet er litt komplisert, men lett å forstå og bruke. Det vil forklare hvordan du kan kontrollere inngangen og utgangen til et program ved hjelp av rør og underprosess i Python. La oss se koden først.
Importer underprosessUnderprosessen.Popen () tar to navngitte argumenter, den ene er stdin og den andre er stdout. Begge disse argumentene er valgfrie. Disse argumentene brukes til å stille røret, som barnetprosessen bruker som sin stdin og stdout. Underprosessen.Røret føres som en konstant slik at en av underprosessene.Popen () eller underprosess.Rør brukeren spesifiserer at de vil ha det resulterende. En barneprosess som heter Callmyname.PY er opprettet i programmet. To navn sendes til callmyname.py før du sender EOF -signalet til inngangen til barnet. Morprosessen venter på at barneprosessen skal avsluttes før den leser utdataene som produseres av barneprosessen. Følgende er utgangen fra den ovennevnte koden.
Som du kan se, er det enkelt å bruke rør med underprosessen i Python. Hvis du følger eksemplene gitt ovenfor, kan du enkelt lære bruken av rør med underprosesser i Python.
Konklusjon:
Denne artikkelen handler om hvordan du bruker Python -underprosessen med rør. For det første introduserte vi kort hva et rør er for en underprosess i Python, og deretter ga vi noen eksempler for å forklare hvordan du bruker røret med en underprosess i Python.