C#:类似反射的机制到python文件中(获取函数、参数等)



从C#程序中,我想检查给定的python文件中提供的函数。如果可能的话,我还想获得关于每个函数和参数的元信息,比如描述。

我可以控制C#端和Python端。

我怎样才能做到这一点?

(至于用例:我将用Python编写一个调度器函数,C#程序可以在Python脚本中调用该函数来执行特定的函数,给定所需的参数。)

从未尝试过。但您可以使用模块optparse的组合(取自How do I get list of methods in a Python class?):

from optparse import OptionParser
import inspect
inspect.getmembers(OptionParser, predicate=inspect.ismethod)

使用function.__doc__从等方法获取文档

def factorial(x):
    '''int f(int x); returns the factorial of an integer number'''
    #code here
>>> factorial.__doc__
'int f(int x); returns the factorial of an integer number'

使用第一部分(int f(int x);)来描述它需要什么参数并返回(您可以只使用字符串直到第一个分号)

并使用getattr调用函数(https://docs.python.org/2/library/functions.html#getattr):

getattr(myObject, 'factorial', '3')()

希望这能帮助您

相关内容

  • 没有找到相关文章

最新更新