2013-12-11 65 views
0

我有一个Python脚本“program.py”,需要2个命令行参数。在命令行上运行python文件?

当我想上运行命令行这一计划,我应该输入:

./python myprogram.py arg1 arg2 


不过,我想没有“蟒蛇”运行我的脚本和“py”为

换句话说,我想这样做:

./myprogram arg1 arg2 


我写了一个shell脚本 “myprogram.sh”:

#!/bin/bash 
python myprogram.py 


但我还是必须通过键入

./sh myprogram.sh arg1 arg2 

这仍然不是我想要的运行此

有没有办法做到这一点?

感谢

+0

你让它可执行吗? http://effbot.org/pyfaq/how-do-i-make-a-python-script-executable-on-unix.htm – dm03514

回答

1

将一个认领你的脚本的开头,像

#! /usr/bin/env python 

的文件扩展名是不管任何责任。所以只需将您的文件命名为“program”而不是“program.py”。

然后给自己来执行它

chmod +x myprogram 

或使其可执行每个人的权利:

chmod a+x myprogram 

然后从外壳

./myprogram arg1 arg2 

这里称它为一个完整的例子:

$echo "#! /usr/bin/env python 
> print('Here be dragons.')" > program 
$chmod +x program 
$./program 
Here be dragons. 
$ 
3

作为myprogram.py第一行中,把下面的:

#!/usr/bin/env python 

然后,在命令行中,在同一目录中myprogram.py,输入以下命令:

mv myprogram.py myprogram 
chmod +x myprogram 

你一切都准备好了!