有一个需要键盘输入的脚本,我可以在 python 中使用 os.system('./script') 调用该脚本,
如何从另一个调用脚本将输入发送回脚本?
更新:
脚本是:
$ 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 :)
当我使用 foo 循环尝试它时,它会抛出错误,如何在使用新的打印语句更新标准输出时显示交互式语句
>>> 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)