从命令行在MAC/Linux上调用Python脚本并传递参数

1 投票
2 回答
3480 浏览
提问于 2025-04-16 02:51

考虑一下这个设置和文件夹结构:

c:\foo
      \bin\foo.bat
      \lib\foo.py

我已经把 foo.bat 的路径添加到我的环境变量 PATH 中,这样我就可以在任何地方调用它,并传入一些参数:

c:/>foo.bat -v 

foo.bat 里面的代码是:

@ECHO OFF
"c:\foo\lib\foo.py" %1 %2 %3 %4 %5 %6 %7 %8 %9

在 Windows 上这样运行没问题。

现在我想在 Mac 或 Linux 上也能做到这一点。

我该如何创建一个可执行文件,让它调用脚本 lib\foo.py,并传入一些参数呢?

谢谢

[解决方案]

谢谢大家,你们的回答让我最终得到了这个按预期工作的脚本:

在 \foo\bin\foo 文件

#!/usr/bin/env bash
python /usr/local/foo/lib/foo.py $*

2 个回答

6

你可以直接在Mac或Linux上运行Python脚本,只需要确保在文件的第一行写上你的Python解释器,下面是一个示例文件foo:

#!/usr/bin/python 
if __name__ == "__main__":
    print 'bar'

要运行这个文件,你可以在当前目录下直接调用它,使用命令./foo

如果你想在任何地方都能访问这个脚本,可以把它放到/usr/local/bin这个文件夹里。记得要确保这个文件是可执行的,使用命令chmod +x foo来设置。

2

你没有明确说你用的是什么命令行工具,但假设你用的是GNU bash:

#!/usr/bin/env bash
/path/to/lib/foo.py $*

请注意,你的脚本和foo.py都需要设置为可执行,这样才能以这种方式运行(这只需要做一个

chmod +x /path/to/your/script /path/to/lib/foo.py
的操作)。

撰写回答