如何将导入的Python模块提取到文件中?

问题描述 投票:0回答:1

我有一个可以导入的模块,但我找不到它的保存位置,因为

module.__file__
不起作用。

我正在尝试为 3ds Max python 开发设置 VSCode,而 pymxs 模块隐藏在 intellisense 和 pylint 无法找到的地方。因此,每次使用它时都会出现错误,并且自动完成功能不起作用。然而,代码运行良好,我可以完美地使用

inspect.getmembers()

我想将整个模块保存到一个文本文件中,以便 intellisense/pylint 希望能够读取它。

这可能吗?

python visual-studio-code 3dsmax
1个回答
1
投票

不幸的是,文件 pymxs.py 不存在,该模块仅在运行时存在,即在 3ds max 中运行脚本时。因此,目前还没有现有的解决方案可以在外部编辑器中自动完成 pymxs。

在 3ds max 内部的编辑器中,但是现在它们具有自动完成功能,因此也许(只是也许)可以创建一个与 max 通信并在运行时检索此信息的插件,但不知道从哪里开始,或者如果这甚至是可能的。

另一个解决方案可能是为最常用的 pymxs 函数创建包装函数,并以这种方式从包装库中获取自动完成功能。但请注意,使用这种方法,pymxs 中的所有内容可能无法添加到此处,因为它使用运行时信息。举例来说,假设您运行

myobject = rt.selection[0]
根据
myobject
在运行时是否变成茶壶或盒子或其他任何东西,将提供不同的函数,例如半径和高度。如果你知道你会得到什么,也许你可以将输出投射到你的包装类或类似的东西。

© www.soinside.com 2019 - 2024. All rights reserved.