蟒蛇。外部API对象的自动补全功能

时间:2018-09-17 20:52:25

标签: python autocomplete pyscripter

我正在使用SAP2000(结构计算软件),该软件具有允许与其他软件连接的API。

我已经使用此功能在VB和VBA中开发了一些程序。 例如,在VBA中,只需在IDE中将引用添加到文件“ SAP2000v20.tlb”,即可使自动补全工作像魅力一样(只需在SAP2000对象公开其所有方法,属性等之后键入点即可)

现在,我开始使用Python,并尝试使用PyScripter作为IDE以这种语言开发相同的应用程序。 但是我不知道如何配置PyScripter的自动补全功能以使其与VB中的方式相同。

根据SAP2000文档中提供的示例,我之前已经安装了库“ comtypes”并键入了以下代码:

import os
import sys
import comtypes.client

#attach to a running instance of SAP2000
SapObject = comtypes.client.GetActiveObject("CSI.SAP2000.API.SapObject")

#start SAP2000 application
SapObject.ApplicationStart()

#create SapModel object
SapModel = SapObject.SapModel

#initialize model
SapModel.InitializeNewModel()
....

代码工作正常,但是问题是在键入时SAP2000对象的自动完成功能不可用。 在PyScripter的“工具”->“编辑启动脚本”中,我在“ import comtypes.client”中添加了一行,但这似乎不足以实现我的目的。

如果我在模块中键入以下代码:

SapObject = comtypes.client.GetActiveObject("CSI.SAP2000.API.SapObject")

并运行它,然后自动完成功能将在Python解释器的窗口中起作用,而不是在我输入所有代码的IDE主窗口中起作用,这将非常有帮助。

有人可以帮我解决这个问题吗? 当键入大量代码时,尤其是当对象不为人所知时,没有自动补全确实很痛苦,就像SAP2000中的那样。 顺便说一句,我没有加入PyScripter,因此,如果您知道此自动完成功能可以与其他IDE配合使用,我会接受的。

谢谢。

0 个答案:

没有答案