gpt4 book ai didi

Python 如何列出 python 函数的导入

转载 作者:行者123 更新时间:2023-12-01 06:26:34 25 4
gpt4 key购买 nike

我正在使用python,需要获取一个用户函数并列出它导入的模块和版本,如果我还可以分析它导入的本地脚本,那就更好了

我找到了this允许对完整脚本执行此操作,但我需要更像

的东西
def a():
import module

modules_and_versions = analyze(a)

谢谢!

最佳答案

可以获取函数的字节码,然后解析opcode为“IMPORT_NAME”的模块名称

import dis
from subprocess import PIPE, run



def a():
import pandas




bytecode = dis.Bytecode(a)

modules = [instr.argval for instr in bytecode if instr.opname == "IMPORT_NAME"]

for module in modules:
command = f"pip show {module} | grep Version"
result = run(command, stdout=PIPE, stderr=PIPE, universal_newlines=True, shell=True)
print(module, result.stdout)

关于Python 如何列出 python 函数的导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60115279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com