- 我的主要应用程序是在 Objective-C/Cocoa (OS X)
- 使用 Python“插件”对主应用程序进行“扩展”
- 我们正在使用 Python 框架
这是我用作“桥梁”来执行特定脚本的代码:
from Foundation import *
from AppKit import *
import imp
import sys
class ppPluginBridge(NSObject):
@classmethod
def loadModuleAtPath_functionName_arguments_documents_(self, path, func, args,docs):
f = open(path)
try:
mod = imp.load_module('plugin', f, path, (".py", "r", imp.PY_SOURCE))
realfunc = getattr(mod, func, None)
if realfunc is not None:
realfunc(*tuple(args))
except Exception as e:
docs.showConsoleError_('%s' % e)
finally:
f.close()
return NO
return YES
所以这个函数接受一个脚本path
并加载/执行它。
现在,我需要的是:使一些 python 类/函数/模块自动可用于最终脚本(在外部声明或 - 最好在我的ppPluginBridge.py
文件中声明)。
怎么可能呢?