gpt4 book ai didi

Python - asyncore.dispatcher 模块错误

转载 作者:行者123 更新时间:2023-11-28 21:29:44 28 4
gpt4 key购买 nike

我开始学习这个 asyncore.dispatcher 模块,当我运行第一个示例程序时,它给出了如下错误:

Python 版本 2.6

asyncore 模块已安装,其中也有调度程序类。可能是什么问题!

错误:

AttributeError: 'module' object has no attribute 'dispatcher'

示例代码:

import asyncore, socket

class HTTPClient(asyncore.dispatcher):

def __init__(self, host, path):
asyncore.dispatcher.__init__(self)
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
self.connect( (host, 80) )
self.buffer = 'GET %s HTTP/1.0\r\n\r\n' % path

def handle_connect(self):
pass

def handle_close(self):
self.close()

def handle_read(self):
print self.recv(8192)

def writable(self):
return (len(self.buffer) > 0)

def handle_write(self):
sent = self.send(self.buffer)
self.buffer = self.buffer[sent:]

client = HTTPClient('www.python.org', '/')
asyncore.loop()

最佳答案

您的问题是您将文件命名为 asyncore.py。它隐藏了 python 标准库中的 asyncore.py,因此文件正在导入自身而不是真正的文件。您想要重命名该文件的副本并删除同一目录中的 asyncore.pyc(如果存在)。然后,当您运行文件时,您将从标准库中导入 asyncore.py

当 Python 运行 import asyncore 行时,python 会在 sys.path 中的目录中查找名为 asyncore.py 的文件。正在执行的主文件的目录始终是其中的第一个条目。因此 Python 会找到您的文件并尝试导入它。作为一般规则,如果您想要使用标准库中的模块,则永远不要为您的文件提供与该模块相同的名称。

关于Python - asyncore.dispatcher 模块错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4801365/

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