python execute shell code example

Example 1: executing shell commands from python script

import subprocess
subprocess.run(["bash", "testShell.sh"])
#we don't have to give full path to the shell script. It always execute from the current directory

#As a rule of thumb, you need to separate the arguments based on space, 
#for example ls -alh would be ["ls", "-alh"], while ls -a -l -h, 
#would be ["ls", "-a", -"l", "-h"]. As another example, 
#echo hello world would be ["echo", "hello", "world"], 
#whereas echo "hello world" or echo hello\ world would 
#be ["echo", "hello world"].

#Another example.
list_files = subprocess.run(["ls", "-l"])
print("The exit code was: %d" % list_files.returncode)

Example 2: shell command python

import subprocess
subprocess.run(["ls", "-l"])

Example 3: call shell script from python

import subprocess
subprocess.call(["./shell.sh"])

# Make sure that "shell.sh" has "+x" permissions

Example 4: python run shell command

import subprocess
process = subprocess.Popen(['echo', 'More output'],
                     stdout=subprocess.PIPE, 
                     stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
stdout, stderr