给定python代码:
import sys
import os
def MyPythonMethod(value1, value2):
# defining some variables
a = 4
myValue = 15.65
listValues = [4, 67, 83, -23]
# check if a file exists
if ( os.path.exists('/home/hello/myfile.txt') ):
pass
# doing some operation on the list
listValues[0] = listValues[1]
# check if a file exists
print sys.path
# looping through the values
for i in listValues:
print i
如何提取函数MyPythonMethod
中所有外部方法的names
?你知道吗
理想情况下,我希望得到所有被调用的外部方法/成员的列表。你知道吗
对于MyPythonMethod
,这将返回:
moduleNames = ["os", "sys"]
methodsInvoked = ["os.path.exists", "sys.path"]
(是的,我知道‘path’是sys
的一个成员,不是一个方法;但是我想你明白了这个意思)。你知道吗
有什么想法吗?你知道吗
你永远不可能完全知道什么函数(在你的例子中,我们谈论的是普通函数,而不是方法,因为方法是类的成员函数),一个函数将在不解析它的情况下调用,因为它可能会动态地调用,它们的名称可能取决于当函数被调用。你知道吗
但是通过检查
MyPythonMethod.func_code.co_names
,可以看到函数引用的模块和函数名。在您的例子中,这个属性将返回元组('os', 'path', 'exists', 'sys')
。你知道吗相关问题 更多 >
编程相关推荐