Невозможно прочитать выход из интерактивного сценария в Python subprocess.popenPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно прочитать выход из интерактивного сценария в Python subprocess.popen

Сообщение Anonymous »

Следующая программа используется для моделирования cmd.exe с использованием подпроцесса.

Код: Выделить всё

import subprocess
import sys
import threading

def handle_output(shell):
while shell:
output = shell.stdout.readline(1)
print(output, end="")
sys.stdout.flush()

subprocess_shell = subprocess.Popen("cmd.exe", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True)

threading.Thread(target=handle_output, args=(subprocess_shell,), daemon=True).start()

while True:
subprocess_shell.stdin.flush()
cmd = input()
subprocess_shell.stdin.write(cmd + "\n")
< /code>
Когда я выполняю такие команды, как Dir, Echo и т. Д. Это работает нормально, но как только я запускаю интерактивную программу, такую ​​как Python < /code>, нет вывода. os.environ ['pythonunbuffered'] = '1' 
и env = os.environ , но, тем не менее, я ничего не получил на выводе при выполнении Python с использованием этого метода.
Кажется, что это связано с несоблюренным outpupt , но настройка Os.environ ['pythonUnunBuffered , но настройка Os.environ [' pythonUnUnUNUNUNUNUNUNUNUNUNUNUN env = os.environ не подходит для всех ситуаций.

Код: Выделить всё

Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Однако я ничего не получил на выводе.

Подробнее здесь: https://stackoverflow.com/questions/794 ... cess-popen
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Невозможно прочитать выход из интерактивного сценария в Python subprocess.popen
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Выход, выход(), выход(0), die(), die(0) - Как выйти из скрипта
    Anonymous » » в форуме Php
    0 Ответы
    63 Просмотры
    Последнее сообщение Anonymous
  • Невозможно запустить настройку flutterfire с помощью subprocess.Popen
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как устранить проблемы безопасности, отмеченные Bandit для использования subprocess.Popen() в Python?
    Anonymous » » в форуме Python
    0 Ответы
    78 Просмотры
    Последнее сообщение Anonymous
  • Взаимная блокировка Python subprocess.popen при манипулировании стандартным вводом и выводом?
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»