2014-08-29 101 views
3

我想执行一个有3个输入的python脚本。我如何执行命令谁输入

所以我想通过一行命令在shell中执行脚本并将其传递给输入值。

我已经看到了一个解决方案来做到这一点,但它只适用于我只有一个输入。 命令是这样的:

$ echo "params input" | python myscript.py 

对该问题的命令不工作,如果我有超过1点输入

任何建议吗? 谢谢

回答

6

使用这里-DOC:

python myscript.py <<EOF 
input line 1 
input line 2 
input line 3 
EOF 
1

如果Python文件是你自己:

1)添加到您的Python文件的第一行:

#!/usr/bin/python 

2)in shell make file executable:

chmod +x your_python_file.py 

3)EXEC像编译的程序或bash脚本:

./your_python_file.py param1 param2 param3 
+0

对不起,python脚本不是我的:/ – Simo 2014-08-29 14:34:49

+0

如果它包含“#!/ usr/bin/python”在第一行不管你的或不是你的。否则,你必须将参数传入文件,因为他们在其他答案中告诉 – obayhan 2014-08-29 14:37:08

0

您可以使用argparse模块,Python提供:argparse tutorial

,那么你会写:

python myscript.py arg1 arg2 arg3 
+0

这不是我的脚本,我没有编码它 – Simo 2014-08-29 14:37:48

+0

啊,我明白了,那绝对不是一种选择。 :) – cherylcourt 2014-09-08 22:41:09