Many times is necessary that Python interacts with the computer’s operating system where it is running. For example, to have information about the hard drive partitions. For this to happen, you must create an external command, which invokes the information or program that you want, directly from the OS.
In this post, we will show a Python module that allows processes to be created. These processes call external programs outside the code written in Python. It also allows the output of this program to be seen on the screen, and be run as if in a normal shell. This is the subprocess module, which offers several options to run external programs. We will show here two of them:
import subprocess r = subprocess.call ( "echo Hello World" shell =true)
This option shows on the screen the information that the external program has generated, but not as an entry that can be manipulated later by our program in Python. The value that the call () function returns within the Python program is only the status of implementation of the external program.
In order to manipulate the data from this external program, we use the check_output () function. An example using this function in place of call () is shown below:
subprocess.check_output (['Java -Djava.library.path= "C: Users Administrator Documents NetBeansProjects SDK_Java_ v1.0.0.2_Beta SDK Java_v1.0.0.2 BETA Lib" -jar C:UsersAdministratorDocumentsNetBeansProjects Busca3-N_javadistBusca3-N_java.jar',arquivo]) return r
This example is calling a Java program, whose information will be handled later in Python, being provided by return.
import subprocess proc = subprocess.popen ( "Echo Hello World" shell = True, stdout = subprocess.PIPE) .stdout.read ()
It offers great flexibility for developers to be able to handle more complex cases which are not covered by the simplest functions. The subprocess.Popen () runs a child program in a new process. At Unix, it has a similar behavior to os.execvp () – when running the external program. At Windows, it uses the CreateProcess () function.
These are some of the ways to call an external command in Python. Do you know a different way? Share with us in the comments area below!
If you want to look for more tips, search our videos about Python. Below are some examples:
You can also follow some of our broadcasters who program in Python, as below:
Another cool way to find out interesting things about Python is to access our project page!
In 2024 we're witnessing a critical point in democratic technology: the integration of blockchain and…
We’re thrilled to announce an exciting opportunity for you to win not one but two…
Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…
Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…
Another week to bring you the top yield platforms for three of the most prominent…
If you hold a large volume of LEDU tokens above 1 million units and wish…
View Comments
this was easy guys and the video made it simpler.