DEV Community

Python Linux Command executor

Muthu on March 19, 2019

# IMPORTING LIBRARIES import subprocess import shlex def cmdExecutor(cliCmd): # COLLECT THE COMMAND AND SPLIT USING SHLEX cmd = shlex.spl...
Collapse
 
rhymes profile image
rhymes

Hi muTheTechie, I think you can simplify the error checking like this:

def cmdExecutor(cliCmd):
    cmd = shlex.split(cliCmd)
    process, error = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
    print("Command executed successfully")
    if error:
      return f"ERROR => {error.decode('utf-8')}"
    else:
      return "SUCCESS"

you don't need to convert the error to a string

Collapse
 
mu profile image
Muthu

thanks @rhymes