Home  >  Article  >  Backend Development  >  What is calling external commands in Python

What is calling external commands in Python

silencement
silencementOriginal
2019-05-25 14:51:122468browse

What is calling external commands in Python

Method 1: os.system

Directly use os.system("command") to execute external programs , returns the program end return code (normal 0/1 error), which is actually implemented using the C standard library function system(). This function needs to reopen a terminal when executing the command command, and cannot save the execution result of the command command.

Disadvantages: The program output stdout cannot be obtained. The output stdout cannot be stored in an array like PHP's exec(string $command [, array &$output [, int &$return_var ]] ).

Method 2: os.popen

popen actually obtains the output result after the command is run and stores it in a temporary file. Use the command:

os.popen(command [, mode, bufsize])

The actual principle is to open a pipe with the command process. The return value of this function is a file object that can be read or written (determined by mode, the default mode is 'r'). If mode is 'r', you can use the return value of this function to call read() to obtain the execution result of the command command.

Supports line-by-line analysis of the following example code:

What is calling external commands in Python

Also supports p.readlines(), for line in p and other file processing methods.

Method 3: commands.getstatusoutput

Use command: status, output = commands.getstatusoutput(command)

Actually use the os.popen() function to execute the command command And returns a tuple (status, output), respectively representing the return status and execution result of command command execution. The execution of command is actually in the manner of {command;} 2

What is calling external commands in Python

The above is the detailed content of What is calling external commands in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn