Creating Python Executables for *nix
我已经用python编写了一个库,这有点像脚本语言,我有一个想法,把这个库转换成一个终端可执行文件,可以这样调用:
所以就像python runs.py一样,这将使用我的库中定义的函数运行文件。这有可能吗?
- 作为第一#!/usr/bin/python放在线。然后chmod +x myprogram.py
- 我在没有办法回答的问题。我怎么能让我的程序在运行.whatever with the the文件定义的函数。but from the similar to a Library命令行。
- AHA!对不起,misunderstood the question。我知道You need a调度。你可以让我和我的executable.pyas that in the links to make of libfun1形态,lbfun2,…在你做过什么executable.pythe check is the zeroeth sys.argv河畔,与基于sys.argv [0]是你到DISPATCH函数
- 基本上,我在命令行应用程序的在线文件和读取数the for each匹配函数,函数,文件运行茶,是吗?
- "特里斯坦号,he wants something like as as的理解让busybox
- 不,它是我unclear你想要知道答案,让我写和see if it is short是你想要的
- 好吧,也许是最好的didnt问的问题。
假设你写这样的函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #!/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。然后你做这样的链接
1 2
| $ `ln main.py funA.py`
$ `ln main.py funB.py` |
它实际上只是一个代码,有三个名称,链接计数等于3。但是如果你运行它
它将在您的代码中发送到funA块。但是如果你运行它
它将在您的代码中发送到funB块。等等等等
这是你要找的吗?
- 是的,那太好了!谢谢!
- 很高兴听到。这就是小系统的busybox的工作原理。它是所有小型的Unix函数实用程序,如ln、ls、cat等。一个可执行文件静态链接,但从中设置的大量链接看起来像ln、ls、cat。几乎相同的调度器逻辑是选择要在内部运行的函数