есть скрипт, который ожидает ввода с клавиатуры,
я могу вызвать этот скрипт с помощью os.system ('./ script') в python,
как можно отправить обратно вход в скрипт из другого вызывающего скрипта?
Обновление:
скрипт:
$ cat script
#!/usr/bin/python
for i in range(4):
name=raw_input('enter your name')
print 'Welcome %s :) ' % name
, когда я пытаюсь без цикла for, он работает, но показывает вывод только при выходе из скрипта.
>>> p = subprocess.Popen('./script',stdin=subprocess.PIPE)
>>> p.communicate('navras')
enter your nameWelcome navras :)
Когда я пытаюсь сделать это с циклом foor, выдает ошибку, Как отобразить операторы интерактивно, как и когда стандартный вывод обновляется новыми операторами печати
>>> p.communicate('megna')
enter your nameWelcome megna :)
enter your nameTraceback (most recent call last):
File "./script", line 3, in <module>
name=raw_input('enter your name')
EOFError: EOF when reading a line
(None, None)