在Python函数中解析外部方法调用?

2024-09-30 01:26:56 发布

您现在位置:Python中文网/ 问答频道 /正文

给定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的一个成员,不是一个方法;但是我想你明白了这个意思)。你知道吗

有什么想法吗?你知道吗


Tags: thepath方法importifoscheckexists
1条回答
网友
1楼 · 发布于 2024-09-30 01:26:56

你永远不可能完全知道什么函数(在你的例子中,我们谈论的是普通函数,而不是方法,因为方法是类的成员函数),一个函数将在不解析它的情况下调用,因为它可能会动态地调用,它们的名称可能取决于当函数被调用。你知道吗

但是通过检查MyPythonMethod.func_code.co_names,可以看到函数引用的模块和函数名。在您的例子中,这个属性将返回元组('os', 'path', 'exists', 'sys')。你知道吗

相关问题 更多 >

    热门问题