我想写一个python脚本,它将执行一个bash命令行程序给我。该程序要求用户输入两次,并且我希望我的脚本每次都自动输入“1”。自动输入到Python提示
我听说过这样的事情:
os.system("program < prepared_input")
我怎样写prepared_input?谢谢。
我想写一个python脚本,它将执行一个bash命令行程序给我。该程序要求用户输入两次,并且我希望我的脚本每次都自动输入“1”。自动输入到Python提示
我听说过这样的事情:
os.system("program < prepared_input")
我怎样写prepared_input?谢谢。
两行创建文件:
1
1
而且使用read
在bash脚本来获取输入:
演示:
$ cat abc
1
1
$ cat so.sh
#!/bin/bash
read data
echo "You entered $data"
read data
echo "Now you entered $data"
$ bash so.sh <abc
You entered 1
Now you entered 1
的Python:
>>> import os
>>> os.system("bash so.sh < abc")
You entered 1
Now you entered 1
0
我想使你的工作,例如,你将需要:
prepared_input = "<input goes here>"
os.system("program < {0}".format(prepared_input))
但取决于你想要做什么,几乎肯定更好的方法来实现它。如果你给我们提供更多关于你在做什么和为什么的信息,我们可以提出一些替代方案。
使用Pexpect的会为你工作...
这里是解决方案 - http://pypi.python.org/pypi/pexpect/
你确定把“输入到这里”,其实正常工作?我认为它会尝试运行“输入到此处”的内容作为shell命令 – timotimo