Не получается получить ожидаемые результаты при использовании подпроцесса в python2 .7 - PullRequest
0 голосов
/ 09 февраля 2020

Я пытаюсь использовать подпроцесс в python2 .7.16 на Ma c, но в настоящее время я получаю неправильный вывод при запуске self._execute, и я не уверен, почему. Вывод, который я должен получить: (True, 'Python 2.7.16 \ n') , но я получаю (False, ' Python 2.7.16 \ n ') . Когда я тестирую этот код в python3, он работает отлично. Есть ли что-то, что я делаю неправильно, или есть что-нибудь, чтобы это исправить?

import os
import subprocess


class Run_Checks:
    def __init__(self):

        print self._execute(['python', '--version'])

    def _execute(self, _cmd):
        process = subprocess.Popen(_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        stdoutput, stderroutput = process.communicate()

        if stdoutput:
            return True, stdoutput
        return False, stderroutput

def main():
    Run_Checks()

if __name__ == "__main__":
    main()

Буду признателен за любую помощь.

...