【问题标题】:python socket.getservbyname is not found [closed]找不到python socket.getservbyname [关闭]
【发布时间】:2025-12-28 13:20:11
【问题描述】:

我在 Eclipse PyDev 上遇到了一个错误 AttributeError: '_socketobject' object has no attribute 'getservbyname',代码如下:

from socket import *
help(socket.getservbyname)

【问题讨论】:

标签: python sockets


【解决方案1】:

在进行星型导入时,不必将模块名称附加到方法中。

试试这个:

import socket
help(socket.getservbyname)

如果你想进行星号导入,由于命名空间污染不建议这样做,这是你应该做的:

from socket import *
help(getservbyname)

【讨论】:

    【解决方案2】:

    使用 python,您可以进行三种导入方式

    import socket
    help(socket.getservbyname)
    

    此表单将整个套接字模块导入到您的同名代码中。然后,您可以通过前缀名称访问其中的内容

    接下来:

    import socket as othersocket
    help(othersocket.getservbyname)
    

    这会将整个套接字模块导入到您的代码中,但使用了备用名称。然后,您可以使用备用前缀名称从中访问内容

    最后:

    from socket import *
    # or
    from socket import getservbyname
    help(getservbyname)
    

    这样,您只需将模块中的特定位导入代码,其名称不带前缀。

    如您所见,有几种方法可以做到这一点,您只需要在导入方式和使用方式上保持一致

    【讨论】:

      最近更新 更多