python - 为 *nix 创建 Python 可执行文件

标签 python

<分区>

我用 python 写了一个库,有点像脚本语言,我想把这个库变成一个终端可执行文件,可以这样调用:

myprogram /path/to/file

因此,就像 python 运行 .py 一样,这将使用我的库中定义的函数运行文件。这有可能吗?

最佳答案

假设你这样写函数

#!/usr/bin/python

import sys

if (sys.argv[0] == "./funA.py"):
    print("Calling A")
    # ...
    sys.exit(0)

if (sys.argv[0] == "./funB.py"):
    print("Calling B")
    # ...
    sys.exit(0)

print(sys.argv[0])

你称之为main.py。然后你做这样的链接

$ `ln main.py funA.py`
$ `ln main.py funB.py`

它真的只是一个代码,有三个名字,链接数等于 3。 但是如果你运行它

./funA.py

它将被分派(dispatch)到您代码中的 funA block 。 但是如果你运行它

./funB.py

它将被分派(dispatch)到您代码中的 funB block 。 等等等等

是您要找的吗?

关于python - 为 *nix 创建 Python 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33138109/

相关文章:

python - 使用 GitHub 身份验证在不使用 GitHub API 的情况下查看私有(private)存储库

python - Python 支持++吗?

python - angularjs+python(Flask)文件上传到服务器

python - 计算数据框文本 pandas 中的标记

python - PyCharm 正在更改我的 Django 应用程序中的默认编码

python - 根据上一个和下一个值过滤 pandas 数据框

python - 如何从 Pandas 数据框中删除方括号

python - BrowserMob Proxy Python - 如何获取响应主体?

python - 使用 pyparsing 捕获多行 block

python - Django - 按用户过滤