Alp*_*gut 1 python console ppm
也许标题不是很清楚,让我详细说明.
我有一个python脚本打开一个ppm文件,应用一个选定的过滤器(旋转...)并创建一个新的图片.直到这里一切正常
但我想通过Linux控制台做同样的事情:
ppmfilter.py ROTD /path/imageIn.ppm /path/imageOut.ppm
这里ROTD是应用旋转的函数的名称.
我不知道该怎么做,我正在寻找一个允许我这样做的图书馆.
期待着你的帮助.
PS:我正在使用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:])
Run Code Online (Sandbox Code Playgroud)
这会将程序参数(不包括文件名和命令名)传递给函数.
编辑:请不要忘记错误处理.为了清楚起见,我省略了它.