Подпроцесс Python.Popen().communicate() зависает при чтении стандартного выводаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Подпроцесс Python.Popen().communicate() зависает при чтении стандартного вывода

Сообщение Anonymous »

Сегодня я столкнулся со странной проблемой, возможно, это проблема с командной строкой Windows, но интересно, сталкивался ли кто-нибудь с этой проблемой раньше. Я получаю некоторую информацию с сайта поставщика, используя Selenium и webdriver-manager. Я проследил стек до функции subprocess.Popen().communicate(), точнее, до строки 1196 файла subprocess.py (python v 3.12.2 32bit), пытающейся выполнить stdout.read() . Кажется, возникла проблема с чтением стандарта, он зависает (без ошибок, просто продолжает работать) на этой строке. Я запустил код изнутри PowerShell (в отличие от VS Code, который, похоже, использует CMD), и он сработал. Если я не использую stdout=subprocess.PIPE, он печатает CMD (результатом команды в webdriver-manager является cmd = "(dir 2>&1 *`|echo CMD);&echo powershell") и не выдает ошибок, но, очевидно, это не так уж и полезно, кроме знания того, что CMD запускает команду, просто не выдавая стандартный стандарт. Я пробовал и другие команды, но безуспешно.
Одна из самых странных вещей заключается в том, что в течение как минимум года он работал нормально ежедневно, а затем внезапно возникла эта проблема. Я попробовал тот же код на другой машине, и он работает как положено, но его нужно запускать на машине автоматизации. Это машина с Windows 10... Я бы не стал этого делать, если бы мне не пришлось, но устаревшая программа, которую я автоматизирую, работает только на настольных компьютерах с Windows.
Я бы переопределил библиотека, но он также использует подпроцесс, чтобы установить текущую версию Chrome и использовать правильный драйвер. Я пытался несколько часов и зашел в тупик.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Подпроцесс Python.Popen().communicate() зависает при чтении стандартного вывода [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как сохранить линии Popen.communicate вместе?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как сохранить линии Popen.communicate вместе?
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Подпроцесс Python, вызов Popen блокируется
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Docker Compose запущен через подпроцесс Python. Popen все еще отвечает на CTRL-C, хотя я переопределил обработчик сигнал
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

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