пример:Python подпроцесс запись данных в трубе
from subprocess import *
proc = Popen(['cat','-'], stdin = PIPE, stdout = PIPE)
msg = 'Through STDIN TO STDOUT'
stdout_value = proc.communicate(msg)[0]
print 'stdout:', stdout_value
выход: стандартный вывод: через STDIN К STDOUT
в этом примере я сдал Сообщ строку вызываемой программы (кошки -) как stdin, Что делать, если вызываемая программа была (passwd) командой, можно ли передать ей два stdin ([значение пароля] и [значение пароля для проверки])?
На что система не 'passwd' считанных из'/Dev/tty'? На моей системе Ubuntu 14.04 LTS она читается с stdin. –
Возможно, я неправильно истолковал необходимость в опции '--stdin', которую' passwd' занимает в ядре Scientific Linux, на который я смотрю. Кажется, что он по умолчанию считывается со стандартного ввода, основываясь на результате 'passwd dev/null'. – chepner
Я не сомневаюсь в вас, я искренне интересуюсь различиями между системами. –