forked from amazingfate/help
22 lines
664 B
Python
22 lines
664 B
Python
import subprocess, os
|
|
|
|
class Executor(object):
|
|
def __init__(self,showErr=True,showOutput=True,showCmd=False):
|
|
self.showCmd=showCmd
|
|
if showErr: self.stderr = None
|
|
else: self.stderr=open(os.devnull,"w")
|
|
if showOutput: self.stdout = None
|
|
else: self.stdout=open(os.devnull,"w")
|
|
|
|
def __call__(self,*cmd):
|
|
"""
|
|
Execute a program, e.g. Executor()("/bin/ls","/home")
|
|
@cmd Command, args
|
|
@return boolean True if succeed
|
|
"""
|
|
if self.showCmd:
|
|
print cmd
|
|
return (subprocess.Popen(list(cmd),stderr=self.stderr,
|
|
stdout=self.stdout).wait() == 0)
|
|
|