Ничего не происходит после subprocess.stdout.readline()/subprocess.stdout.read()Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ничего не происходит после subprocess.stdout.readline()/subprocess.stdout.read()

Сообщение Anonymous »

Из Python я пытаюсь управлять cmd в Cosnolly, вот мой код:

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

cmd_process = subprocess.Popen(["cmd"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding='cp866')

cmd_process.stdin.write('E:')
cmd_process.stdin.flush()

cmd_process.stdin.write('dir\n')
cmd_process.stdin.flush()
А дальше я не знаю, что делать. Если я напишу:

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

print(cmd_process.stdout.read())
ничего не происходит, ничего не печатается в cmd и консоль cmd зависает. Поэтому я не могу ничего напечатать в консоли, и это похоже на вечный цикл
Я попробую:

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

for i in range(10):
print(cmd_process.stdout.readline())

print('after for loop')
На самом деле он работает нормально, и после этого цикла for печатается «после цикла for». Но если я пишу:

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

for i in range(1_000):
print(cmd_process.stdout.readline())

print('after for loop') # 

Подробнее здесь: [url]https://stackoverflow.com/questions/78521839/nothing-happens-after-subprocess-stdout-readline-subprocess-stdout-read[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Не могу получить GNU Readline с Bash для использования STDOUT/FD1 в качестве RL_OUTSTREAM
    Anonymous » » в форуме Linux
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Не могу получить GNU Readline с Bash для использования STDOUT/FD1 в качестве RL_OUTSTREAM
    Anonymous » » в форуме Linux
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Почему stdout pipe readline () не ждет нового персонажа?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Почему stdout pipe readline () не ждет нового персонажа?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Странная задержка при вызове readline () stdout
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

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