Wing IDE并没有在autocomplete bubb中显示所有方法

2024-06-08 09:55:19 发布

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

我喜欢永德。但我在自动完成方面有些问题。例如,当我尝试编写以下代码片段时:

import socket

s = socket.socket()
s.connect(("rutracker.org",80))
s.send('GET / HTTP/1.0\n\n')
answer = s.recv(1024)

Wing帮助我并自动完成socket.socket()。但当我键入s.时,它找不到send或{}这样的方法:

FirstSecond

我做错什么了吗?在


Tags: 方法代码answerorgimportsendhttpget
1条回答
网友
1楼 · 发布于 2024-06-08 09:55:19

这是因为插座.py是在运行时部分动态组装的,而我们的静态分析引擎无法解释该代码(位于插座.py在Python2.7.6中,它在socketmethods上迭代以将方法添加到_socketobject中;位置可能因Python的确切版本而异,但可能只是在它们中的\u socketobject的常规类def之后)。在

处理此问题的一种方法是在s=插座.插座()并运行到它,然后自动完成程序使用实时运行时状态,以便完整的内容将出现在那里。这样做还有一个好处,你可以马上在Wing idepro的Debug Probe(一个运行在当前调试堆栈框架中的pythonshell)中测试代码。在

我还将看看我们是否可以对静态分析案例进行改进。我们确实有一些东西的手动覆盖,这个案例似乎应该添加。在

相关问题 更多 >