| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |
| <html> | |
| <head> | |
| <title>Pexpect - Examples</title> | |
| <link rel="stylesheet" href="clean.css" type="text/css"> | |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | |
| <meta name="Author" content="Noah Spurrier"> | |
| <meta name="Keywords" | |
| content="pexpect, Noah Spurrier, Python, Libes, TCL, Expect, pipe, popen, pyExpect, expectpy, expect-like, expect-alike, expect like"> | |
| <meta name="Description" content="Examples for using Pexpect."> | |
| </head> | |
| <body bgcolor="#ffffff" text="#000000"> | |
| <div id="Header"> | |
| <h1>Pexpect Examples</h1> | |
| </div> | |
| <div id="Content"> | |
| <p><span class="code">hive.py</span></p> | |
| <p><blockquote> | |
| This script creates SSH connections to a list of hosts that | |
| you provide. Then you are given a command line prompt. Each | |
| shell command that you enter is sent to all the hosts. The | |
| response from each host is collected and printed. For example, | |
| you could connect to a dozen different machines and reboot | |
| them all at once. | |
| </p></blockquote> | |
| <p><span class="code">script.py</span></p> | |
| <p><blockquote> | |
| This implements a command similar to the classic BSD | |
| "script" command. | |
| This will start a subshell and log all input and | |
| output to a file. | |
| This demonstrates the interact() method of Pexpect. | |
| </p></blockquote> | |
| <p><span class="code">fix_cvs_files.py</span></p> | |
| <p><blockquote> | |
| This is for cleaning up binary files improperly | |
| added to CVS. | |
| This script scans the given path to find binary | |
| files; | |
| checks with CVS to see if the sticky options are set | |
| to -kb; | |
| finally if sticky options are not -kb then uses 'cvs | |
| admin' to | |
| set the -kb option. | |
| </p></blockquote> | |
| <p><span class="code">ftp.py</span></p> | |
| <p><blockquote> | |
| This demonstrates an FTP "bookmark". | |
| This connects to an ftp site; does a few ftp stuff; | |
| and then gives the user | |
| interactive control over the session. In this case | |
| the "bookmark" is to a | |
| directory on the OpenBSD ftp server. It puts you in | |
| the i386 packages | |
| directory. You can easily modify this for other | |
| sites. | |
| This demonstrates the interact() method of Pexpect. | |
| </p></blockquote> | |
| <p><span class="code">monitor.py</span></p> | |
| <p><blockquote> | |
| This runs a sequence of commands on a remote host | |
| using SSH. | |
| It runs a simple system checks such as uptime and | |
| free to monitor | |
| the state of the remote host. | |
| </p></blockquote> | |
| <p><span class="code">passmass.py</span></p> | |
| <p><blockquote> | |
| This will login to each given server and change the | |
| password of the | |
| given user. This demonstrates scripting logins and | |
| passwords. | |
| </p></blockquote> | |
| <p><span class="code">python.py</span></p> | |
| <p><blockquote> | |
| This starts the python interpreter and prints the | |
| greeting message backwards. | |
| It then gives the user iteractive control of Python. | |
| It's pretty useless! | |
| </p></blockquote> | |
| <p><span class="code">rippy.py</span></p> | |
| <p><blockquote> | |
| This is a wizard for mencoder. It greatly simplifies | |
| the process of | |
| ripping a DVD to Divx (mpeg4) format. It can | |
| transcode from any | |
| video file to another. It has options for resampling | |
| the audio stream; | |
| removing interlace artifacts, fitting to a target | |
| file size, etc. | |
| There are lots of options, but the process is simple | |
| and easy to use. | |
| </p></blockquote> | |
| <p><span class="code">sshls.py</span></p> | |
| <p><blockquote> | |
| This lists a directory on a remote machine. | |
| </p></blockquote> | |
| <p><span class="code">ssh_tunnel.py</span></p> | |
| <p><blockquote> | |
| This starts an SSH tunnel to a remote machine. It | |
| monitors the connection | |
| and restarts the tunnel if it goes down. | |
| </p></blockquote> | |
| <p><span class="code">uptime.py</span></p> | |
| <p><blockquote> | |
| This will run the uptime command and parse the | |
| output into variables. | |
| This demonstrates using a single regular expression | |
| to match the output | |
| of a command and capturing different variable in | |
| match groups. | |
| The grouping regular expression handles a wide variety of different | |
| uptime formats. | |
| </blockquote> | |
| <p> | |
| <a href="http://sourceforge.net/projects/pexpect/" | |
| title="The Pexpect project page on SourceForge.net"> <img | |
| src="http://sourceforge.net/sflogo.php?group_id=59762&type=5" | |
| alt="The Pexpect project page on SourceForge.net" border="0" | |
| height="31" width="105"> </a> | |
| </p> | |
| </div> | |
| </body> | |
| </html> |