mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
\section{\module{commands} ---
 | 
						|
         Utilities for running commands}
 | 
						|
 | 
						|
\declaremodule{standard}{commands}
 | 
						|
  \platform{Unix}
 | 
						|
\modulesynopsis{Utility functions for running external commands.}
 | 
						|
\sectionauthor{Sue Williams}{sbw@provis.com}
 | 
						|
 | 
						|
 | 
						|
The \module{commands} module contains wrapper functions for
 | 
						|
\function{os.popen()} which take a system command as a string and
 | 
						|
return any output generated by the command and, optionally, the exit
 | 
						|
status.
 | 
						|
 | 
						|
The \module{commands} module defines the following functions:
 | 
						|
 | 
						|
 | 
						|
\begin{funcdesc}{getstatusoutput}{cmd}
 | 
						|
Execute the string \var{cmd} in a shell with \function{os.popen()} and
 | 
						|
return a 2-tuple \code{(\var{status}, \var{output})}.  \var{cmd} is
 | 
						|
actually run as \code{\{ \var{cmd} ; \} 2>\&1}, so that the returned
 | 
						|
output will contain output or error messages. A trailing newline is
 | 
						|
stripped from the output. The exit status for the command can be
 | 
						|
interpreted according to the rules for the C function
 | 
						|
\cfunction{wait()}.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{getoutput}{cmd}
 | 
						|
Like \function{getstatusoutput()}, except the exit status is ignored
 | 
						|
and the return value is a string containing the command's output.  
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{getstatus}{file}
 | 
						|
Return the output of \samp{ls -ld \var{file}} as a string.  This
 | 
						|
function uses the \function{getoutput()} function, and properly
 | 
						|
escapes backslashes and dollar signs in the argument.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
Example:
 | 
						|
 | 
						|
\begin{verbatim}
 | 
						|
>>> import commands
 | 
						|
>>> commands.getstatusoutput('ls /bin/ls')
 | 
						|
(0, '/bin/ls')
 | 
						|
>>> commands.getstatusoutput('cat /bin/junk')
 | 
						|
(256, 'cat: /bin/junk: No such file or directory')
 | 
						|
>>> commands.getstatusoutput('/bin/junk')
 | 
						|
(256, 'sh: /bin/junk: not found')
 | 
						|
>>> commands.getoutput('ls /bin/ls')
 | 
						|
'/bin/ls'
 | 
						|
>>> commands.getstatus('/bin/ls')
 | 
						|
'-rwxr-xr-x  1 root        13352 Oct 14  1994 /bin/ls'
 | 
						|
\end{verbatim}
 |