Не могу ввести данные в консольную программу через subprocess
Подскажите, что делаю не так? Задача запустить консольную программу, ввести в неё данные и подтвердить ввод. Последовательность скрипта:
- Открывает dump\start.bat
- Вводит данные -> Enter
- Вводит данные -> Enter
Пример моего кода:
from subprocess import Popen, PIPE
with Popen([r'G:\Documents\Python\auto_old_dump\dump\start.bat'], stdin=PIPE, text=True) as proc:
proc.communicate(input='leZCsNCyp8fAIDh4-vMmf4mNCrSIOmqm0HJ4cODnsfK6bgjBfZ')
proc.communicate(input='y')
так же пробовал proc.communicate(input='y') заменить на proc.stdin.write('y')
Ошибка которую он выдает:
C:\Users\barsi\dump>dotnet Dumper.dll
Token: Auth...
Unhandled Exception: System.IO.IOException: ������ ���ਯ��
at System.ConsolePal.GetBufferInfo(Boolean throwOnNoConsole, Boolean& succeeded)
at System.ConsolePal.Clear()
at System.Console.Clear()
at Dumper.Program.Authorize() in C:\Users\bladee\source\Dumper\Dumper\Program.cs:line 33
at Dumper.Program.Main(String[] args) in C:\Users\bladee\source\Dumper\Dumper\Program.cs:line 18
Traceback (most recent call last):
File "C:\Users\barsi\dump\auto_old_dump_3.py", line 48, in <module>
proc.communicate('y')
File "C:\Users\barsi\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 1134, in communicate
self._stdin_write(input)
File "C:\Users\barsi\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 1083, in _stdin_write
self.stdin.write(input)
ValueError: I/O operation on closed file.
Скриншот программы с которой взаимодействую
