我正在尝试编写一个shell脚本,该脚本将运行一个带有一些原始输入的python文件。 python脚本基本上是:
def main():
name=raw_input("What's your name?")
print "Hello, "+name
main()
我希望shell脚本运行脚本并自动将输入提供给它。我已经看到很多方法可以从python函数返回的内容中获取shell输入,或者如何使用输入从python运行shell,但不是这样。基本上,我只想要做的事情:
python hello.py
# give the python script some input here
# then continue on with the shell script.
答案 0 :(得分:4)
答案 1 :(得分:0)
提供原始输入确实没有比sys.stdin
更好的方法。它也是跨平台的。
import sys
print "Hello {0}!".format(sys.stdin.read())
然后
echo "John" | python hello.py # From the shell
python hello.py < john.txt # From a file, maybe containing "John"