Skip to main content
 首页 » 编程设计

python之从 linux 控制台运行一个函数(从 .py 文件)

2025年05月04日9findumars

可能标题不是很清楚,我再细说一下。

我有一个 python 脚本可以打开一个 ppm 文件,应用一个选定的过滤器(旋转...)并创建一个新图片。直到这里一切正常。

但我想通过 linux 控制台做同样的事情:

ppmfilter.py ROTD/path/imageIn.ppm/path/imageOut.ppm

这里的 ROTD 是应用旋转的函数的名称。

我不知道该怎么做,我正在寻找一个允许我这样做的库。

期待您的帮助。

附言:我使用的是 python 2.7

请您参考如下方法:

有一个比较简单的方法:

您可以使用“globals()”确定全局名称(函数、变量等)。这为您提供了所有全局符号的字典。您只需要检查类型(使用 type() 和模块类型),如果它是一个函数,您可以使用 sys.argv 调用它:

import types 
import sys 
 
def ROTD(infile, outfile): 
    # do something 
 
if __name__ == '__main__': 
    symbol = globals().get(sys.argv[1]) 
    if hasattr(symbol, '__call__'): 
        symbol(*sys.argv[2:]) 

这会将程序参数(不包括文件名和命令名)传递给函数。

编辑:请不要忘记错误处理。为了清楚起见,我省略了它。