Source code for app_webhook.shell_cmd

"""执行shell cmd

"""
from subprocess import Popen, PIPE
from main_settings.settings import REPOS_PARENT_DIR

[docs]class Cmds(object): def __init__(self, cmds): self.cmds = cmds self.repos_parent_dir = REPOS_PARENT_DIR
[docs] def run(self): process = Popen('bash', shell=False, universal_newlines=True, stdin=PIPE, stdout=PIPE, stderr=PIPE) for cmd in self.cmds: process.stdin.write(cmd + '\n') process.stdin.close() out = process.stdout.read() err = process.stderr.read() return out, err
if __name__ == '__main__': from ..main_settings.settings import BASE_DIR cmds = [ # ['ls', '-l'], 'pwpd', 'cd ../..', 'pwd ', 'cd ' + BASE_DIR, 'pwd', 'cd not_use', 'pwd', # ['ls', '-l'], ] r = ExcuteCmds(cmds) out, err = r.run() print(out) print(err) # r.__call__() # print(r.__call__())