Like os.system(), the n() command returns the exit code of what was executed. We then use the n() function to execute the command. In the first line, we import the subprocess module, which is part of the Python standard library.
Print( "The exit code was: %d" % list_files.returncode) In a new filed called list_subprocess.py, write the following code: import subprocess It gives us the flexibility to suppress the output of shell commands or chain inputs and outputs of various commands together, while still providing a similar experience to os.system() for basic use cases. The subprocess module is Python's recommended way to executing shell commands. If we would like more fine grained control of a shell command's input and output in Python, we should use the subprocess module. The os.system() function executes a command, prints any output of the command to the console, and returns the exit code of the command. On the other hand, unknown_dir stores the exit code of the failed bash command to change the directory to a folder that does not exist. Therefore, os.system() returns its exit code, zero, which is stored in home_dir. The first command, which changes the directory to the home directory, executes successfully. Sh: line 0: cd: doesnotexist: No such file or directory Running this file, we will see: $ python3 cd_return_codes.py In this script, we create two variables that store the result of executing commands that change the directory to the home folder, and to a folder that does not exist. Print( "`cd doesnotexis` ran with exit code %d" % unknown_dir) Unknown_dir = os.system( "cd doesnotexist") Print( "`cd ~` ran with exit code %d" % home_dir) Let's create a new file called cd_return_codes.py and type the following: import os An exit code of 0 means it ran without any problems and any other number means an error.
While not visible in the console, the os.system() command returns the exit code of the shell command. In your Terminal, run this file with using the following command, and you should see the corresponding output: $ python3 echo_adelle.pyĪs the echo commands prints to our stdout, os.system() also displays the output on our stdout stream. The next line does exactly that, runs the echo command in our shell through Python. The first thing we do in our Python file is import the os module, which contains the system function that can execute shell commands. Os.system( "echo Hello from the other side!")