Я пытаюсь разработать скрипт на python, который вызывает и выполняет скрипт csh.В данный момент я могу выполнить сценарий csh, но у меня возникают некоторые проблемы с записью в него.
Python должен прочитать стандартный вывод из csh, а затем в некоторые моменты поместить информацию в стандартный ввод csh.Например, в этот момент python запускает скрипт csh, а затем csh запрашивает пароль.Я могу отправить его в csh, но после того, как этот питон выдает ошибку.
with Popen(["script_name", param1, param2], stdout=PIPE, stdin=PIPE, stderr=PIPE, bufsize=1, universal_newlines=True) as p:
for line in p.stdout:
print(line, end='')
if "password" in line:
#p.stdin.write("xpto")
stdoutMsg = p.communicate("xpto")[0]
Я пытался отправить пароль, используя p.stdin.write, но выполнение никогда не заканчивается.С помощью «общаться» я могу отправить пароль, но когда код пытается получить ответ сценария, он выдает ошибку:
Исключение в обратном вызове Tkinter (...) для строки в p.stdout: ValueError: Операция ввода / вывода для закрытого файла.
Я думаю, что «связь» закрывает ТРУБУ.