Как используется subprocess.popen - PullRequest
1 голос
/ 04 августа 2020

Почему я получаю сообщение об ошибке при запуске subprocess.popen?

Я загружаю команду с аргументами в переменной, делаю разбиение и передаю результат в subprocess.Popen. Возвращает ошибку .

Большое спасибо за сотрудничество

Полный код выглядит следующим образом:

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import subprocess
import shlex


def main():
    try:
            data = "ls -al"
            args = shlex.split(data)
            comando = subprocess.Popen(args, shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)

            if comando.stderr.read() != "":
                print("[-] Error")
            else:
                print(comando.stdout.read())
    except Exception as e:
        print (e)

if __name__ == '__main__' :
    try:
        main()
    except KeyboardInterrupt:
        exit()

1 Ответ

0 голосов
/ 04 августа 2020

Используйте общайтесь

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import subprocess
import shlex


def main():
    try:
            data = "ls -al"
            args = shlex.split(data)
            comando = subprocess.Popen(args, shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
            comando_stdout, comando_stderr = comando.communicate()
            if comando_stderr:
                print("[-] Error")
            else:
                print(comando_stdout)
    except Exception as e:
        print (e)

if __name__ == '__main__' :
    try:
        main()
    except KeyboardInterrupt:
        exit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...