gpt4 book ai didi

python - 你如何静态地找到动态加载的模块

转载 作者:行者123 更新时间:2023-11-28 20:52:09 24 4
gpt4 key购买 nike

如何从 python 脚本中获取(找到位置)动态导入的模块?

因此,根据我的理解,python 可以动态(在运行时)加载模块。无论是使用 _import_(module_name),还是使用 exec "from x import y",或者使用 imp.find_module ("module_name") 然后是 imp.load_module(param1, param2, param3, param4)

知道我想获取一个python文件的所有依赖。这将包括获取(或至少我尝试获取)动态加载的模块,这些模块是通过使用硬编码字符串对象或由函数/方法返回的加载的。

对于正常的import module_namefrom x import y,您可以手动扫描代码或使用module_finder。

所以如果我想复制一个 python 脚本及其所有依赖项(包括自定义动态加载的模块)我应该怎么做?

最佳答案

你不能;编程(在任何语言中)的本质意味着您无法在不实际执行代码的情况下预测将执行什么代码。因此,您无法判断可以包含哪些模块。

这会被用户输入进一步混淆,考虑:__import__(sys.argv[1])

有很多关于第一个问题的理论信息,通常描述为 Halting problem ,第二个显然无法完成。

关于python - 你如何静态地找到动态加载的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7441726/

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