在命令行上运行python文件?

时间:2013-12-11 00:52:04

标签: python bash shell unix command-line

我有一个python脚本“program.py”,需要2个命令行参数。

当我想在命令行上运行这个程序时,我应该输入:

./python myprogram.py arg1 arg2


但是,我想在没有“python”和“.py”

的情况下运行我的脚本

换句话说,我想这样做:

./myprogram arg1 arg2


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

#!/bin/bash
python myprogram.py


但是我仍然需要输入

来运行它
./sh myprogram.sh arg1 arg2

这仍然不是我想要的

有没有办法实现这个目标?

由于

2 个答案:

答案 0 :(得分:3)

作为myprogram.py的第一行,请填写以下内容:

#!/usr/bin/env python

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

mv myprogram.py myprogram
chmod +x myprogram

你们都准备好了!

答案 1 :(得分:1)

在脚本的开头添加一个shebang,类似

#! /usr/bin/env python

文件扩展名无论如何。所以只需将文件命名为“program”而不是“program.py”。

然后给自己执行它的权利

chmod +x myprogram

或者让它对每个人都可执行:

chmod a+x myprogram

然后从shell中调用它

./myprogram arg1 arg2

这里有一个完整的例子:

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