Pexpect er en populær Python -modul for å gjøre forskjellige typer automatiserte oppgaver. Ulike typer interaktive applikasjoner som Telnet, SSH, FTP, etc., kan automatiseres ved hjelp av denne modulen. Det er en ren Python -modul, og den krever ikke en C -kompilator eller TCL eller forventer utvidelser som andre forventer moduler. Det kan fungere enkelt ved å bruke en Python -tolk. Denne modulen kan brukes på to måter. En måte er å bruke løpe() funksjon, og en annen måte er å bruke gyte klasse. De løpe() Funksjon er enkel å bruke enn Spawn -klassen og utfører de automatiserte oppgavene raskt. Den spesielle kommandoen eller et program kan utføres av løpe() funksjon som returnerer utdataene. Denne funksjonen kan brukes som alternativ til OS.system() funksjon. De gyte Klasse er kraftigere enn løpe() Funksjon som kan gyte et barneprogram, samhandle med det ved å sende input og vente på svaret. Denne modulen er installert i Python3 som standard. De to måtene å bruke denne modulen har vist i denne opplæringen.
Bruke Run () -funksjon
Syntaks:
Syntaksen til løpe() Funksjon er gitt nedenfor. Det har mange argumenter for forskjellige formål. Men de første 3 eller 4 argumentene brukes stort sett. Det første argumentet for denne funksjonen er obligatorisk som tar kommandoen om at denne funksjonen vil utføre. Det kan returnere flere utganger. Hvis WithExitStatus Argument brukes med Falsk Verdi, den vil bare returnere kommandoens utdata.
Kjør (kommando, timeout = 30, withExitStatus = falsk, hendelser = ingen, ekstra_args = ingen, logfile = ingen, cwd = ingen, env = ingen, ** kwargs)Eksempel-1: Ulike bruksområder for RUN () -funksjonen
Tre forskjellige bruksområder av løpe() Funksjon har vist i følgende skript. 'PWD'Kommandos utgang utføres i den første løpe() Funksjon som vil vise den gjeldende arbeidskatalogstien. Neste, The løpe() Funksjon brukes til å bestemme detaljene i en bestemt fil, og filnavnet vil bli tatt fra brukeren. Den tredje løpe() funksjon brukes til å lage ssh tilkoble og hente alle filer og mapper fra Web mappe.
# Importer Pexpect -modulProduksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. I utgangen, Doc1.py har gitt som filnavnet, og detaljene i denne filen har vist. Deretter, listen over alle filer i Web Mappen har vist ved hjelp av ssh forbindelse.
Ved hjelp av gyteklasse
Syntaksen til Spawn -klassen er gitt nedenfor. Konstruktøren av denne klassen kan ta mange argumenter for mange formål. Det første argumentet er obligatorisk som vil ta kommandoen for utførelse.
Klasse gyte __init __ (selv, kommando, args = [], timeout = 30, maxRead = 2000, søk vindusstørrelse = ingen, logfile = ingen, cwd = ingen, env = ingen)Eksempel-2: Enkel bruk av Spawn Class
Den enkle bruken av Spawn -klassen har vist i følgende skript. 'Dato'Kommando er utført her ved å bruke Spawn -klassen. Utgangen fra kommandoen vil bli hentet ved å opprette gjenstanden for Spawn-klassen, og utgangen skrives ut i menneskelig lesbart format ved å bruke dekode() metode.
# Importer Pexpect -modulProduksjon
Følgende utgang vises etter å ha utført skriptet ovenfor.
Eksempel-3: Les innholdet i katalogen ved hjelp av SSH-tilkobling
Opprette SSH -tilkobling og lese listen over alle filer og mapper i en bestemt katalog har vist i følgende skript. Her vil passordet til den definerte brukeren bli hentet fra brukeren for å lage SSH -tilkobling ved hjelp av Spawn -klassen. Hvis det gitte passordet er feil, blir skriptet avsluttet ved å vise en feilmelding. Hvis det gitte passordet er riktig, men terminalen ikke er definert, vil skriptet vise suksessmeldingen for tilkoblingen, sende terminaltypen og definere kommandokortets forventede mønster. Hvis passordet er riktig og terminalen er definert, vil skriptet vise suksessmeldingen og Shell -kommando -ledeteksten.
# Importer Pexpect -modulProduksjon
Følgende utdata vises når skriptet ovenfor utføres med feil passord.
Følgende utdata vises når skriptet ovenfor utføres med riktig passord.
Konklusjon
Pexpect er en veldig nyttig modul for Python -brukere som hjelper dem å gjøre sine vanlige oppgaver automatisk. Den helt grunnleggende bruken av Pexpect -modulen til Python er beskrevet i denne opplæringen ved å bruke enkle eksempler for å hjelpe brukerne til å begynne å jobbe med denne modulen.