У меня есть программа, которой требуется передать 2 входных данных.
Как этого добиться с помощью подпроцесса
import subprocess
pass1 = "welcome1"
pass2 = "welcome2"
session = subprocess.Popen("sh", "test.sh", stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
stdout, stderr = session.communicate(pass1.encode('utf-8'))
stdout, stderr = session.communicate(pass2.encode('utf-8'))
Теперь я не могу предоставить pass2:
Traceback (most recent call last):
File "/home/roman/temp/test.py", line 13, in
stdout, stderr = session.communicate(pass2.encode('utf-8'))
File "/usr/lib/python3.10/subprocess.py", line 1129, in communicate
raise ValueError("Cannot send input after starting communication")
ValueError: Cannot send input after starting communication
Подробнее здесь: https://stackoverflow.com/questions/786 ... cess-popen
Несколько входов в subprocess.Popen ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение