pexpect è un popolare modulo Python per svolgere diversi tipi di attività automatizzate. Diversi tipi di applicazioni interattive come Telnet, SSH, FTP, ecc., può essere automatizzato utilizzando questo modulo. È un modulo Python puro e non richiede un compilatore C o TCL o si aspettano estensioni come altri si aspettano moduli. Può funzionare facilmente usando un interprete di Python. Questo modulo può essere utilizzato in due modi. Un modo è usare il correre() funzione e un altro modo è usare produrre classe. IL correre() La funzione è facile da usare rispetto alla classe Spawn ed esegue rapidamente le attività automatizzate. Il comando particolare o un programma può essere eseguito da correre() funzione che restituisce l'output. Questa funzione può essere utilizzata come alternativa al sistema operativo.sistema() funzione. IL produrre La classe è più potente del correre() funzione che può generare un programma per bambini, interagire con esso inviando input e in attesa della risposta. Questo modulo è installato in Python3 per impostazione predefinita. I due modi di usare questo modulo hanno mostrato in questo tutorial.
Utilizzo della funzione run ()
Sintassi:
La sintassi del correre() La funzione è riportata di seguito. Ha molti argomenti per vari scopi. Ma i primi 3 o 4 argomenti sono usati principalmente. Il primo argomento di questa funzione è obbligatorio che prende il comando che questa funzione eseguirà. Può restituire più output. Se la WithexitStatus L'argomento è usato con il Falso valore, restituirà solo l'output del comando.
Esegui (comando, timeout = 30, withexitstatus = false, events = nessuno, extra_args = nessuno, logfile = nessuno, cwd = none, env = nessuno, ** kwargs)Esempio-1: diversi usi della funzione run ()
Tre diversi usi del correre() la funzione ha mostrato nel seguente script. IL 'PWD'L'output del comando viene eseguito nel primo correre() funzione che visualizzerà l'attuale percorso della directory di lavoro. Successivamente, il correre() La funzione viene utilizzata per determinare i dettagli di un determinato file e il nome file verrà prelevato dall'utente. Il terzo correre() La funzione viene utilizzata per creare il ssh connettere e recuperare tutti i file e le cartelle da ragnatela cartella.
# Importa modulo pexpectProduzione
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Nell'output, Doc1.Py ha dato come nome file e i dettagli di questo file hanno mostrato. Successivamente, l'elenco di tutti i file del ragnatela la cartella ha mostrato l'uso ssh connessione.
Usando la classe di spawn
La sintassi della classe di spawn è riportata di seguito. Il costruttore di questa classe può prendere molti argomenti per molti scopi. Il primo argomento è obbligatorio che prenderà il comando per l'esecuzione.
Class Spawn __init __ (self, comando, args = [], timeout = 30, maxread = 2000, finestra di ricerca size = nessuno, logfile = nessuno, cwd = nessuno, env = nessuno)Esempio-2: semplice uso della classe di spawn
Il semplice uso della classe di spawn ha mostrato nel seguente script. IL 'data'Il comando è stato eseguito qui usando la classe spawn. L'output del comando verrà recuperato creando l'oggetto della classe di spawn e l'uscita viene stampata in formato leggibile dall'uomo usando il decodificare() metodo.
# Importa modulo pexpectProduzione
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.
Esempio-3: leggi il contenuto della directory utilizzando la connessione SSH
Creazione della connessione SSH e leggere l'elenco di tutti i file e le cartelle di una particolare directory ha mostrato nel seguente script. Qui, la password dell'utente definito verrà presa dall'utente per effettuare la connessione SSH utilizzando la classe Spawn. Se la password data non è corretta, lo script verrà terminato mostrando un messaggio di errore. Se la password data è corretta, ma il terminale non è definito, lo script mostrerà il messaggio di successo per la connessione, inviare il tipo di terminale e definire il modello previsto del prompt dei comandi. Se la password è corretta e il terminale è definito, lo script mostrerà il messaggio di successo e il prompt dei comandi Shell.
# Importa modulo pexpectProduzione
Verrà visualizzato il seguente output quando lo script sopra viene eseguito con la password errata.
Verrà visualizzato il seguente output quando lo script sopra viene eseguita con la password corretta.
Conclusione
Pexpect è un modulo molto utile per gli utenti di Python che li aiuta a svolgere automaticamente le loro attività regolari. Gli usi molto basilari del modulo pexpect di Python sono stati descritti in questo tutorial utilizzando semplici esempi per aiutare gli utenti a iniziare a lavorare con questo modulo.