【问题标题】:Running python file on command line? [duplicate]在命令行上运行python文件? [复制]
【发布时间】:2013-12-11 00:52:04
【问题描述】:

我有一个带有 2 个命令行参数的 python 脚本“program.py”。

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

./python myprogram.py arg1 arg2


但是,我想在没有“python”和“.py”的情况下运行我的脚本

换句话说,我想这样做:

./myprogram arg1 arg2


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

#!/bin/bash
python myprogram.py


但我仍然必须通过键入

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

这仍然不是我想要的

有没有办法做到这一点?

谢谢

【问题讨论】:

标签: python bash shell unix command-line


【解决方案1】:

作为myprogram.py的第一行,输入以下内容:

#!/usr/bin/env python

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

mv myprogram.py myprogram
chmod +x myprogram

一切就绪!

【讨论】:

    【解决方案2】:

    在脚本的开头放一个 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.
    $
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      • 2017-01-20
      • 2018-09-05
      • 2023-04-04
      • 1970-01-01
      相关资源
      最近更新 更多