即使存在模块属性也找不到

Joh*_*olt 3 python python-3.x

我的内置http模块有一个非常奇怪的python问题。它成功导入,但是http.client属性不存在?它在python文档中,我的兄弟完美地运行了代码。但是,它对我不起作用,无论是在我的Linux笔记本电脑上还是在Mac上均不起作用!几天来一直遇到这个问题,真的需要解决!

确切的错误消息是:

except (http.client.ResponseNotReady, http.client.CannotSendRequest, http.client.BadStatusLine) as e:
AttributeError: 'module' object has no attribute 'client'
Run Code Online (Sandbox Code Playgroud)

删除此异常时,此文件中仅包含更多异常,因此无论如何我不能简单地删除该异常

因为找不到此问题的根源,所以我开始探索http模块文件夹并找到client.py

在python解释器中输入help(http)时,它会响应以下内容:

PACKAGE CONTENTS
    client
    cookiejar
    cookies
    server

FILE
    /opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/http/__init__.py
Run Code Online (Sandbox Code Playgroud)

好吧,我知道帮助命令信息会自动生成,并且那些软件包可能已被删除或其他。所以我去了http目录,并做了一个“ ls -l”给我:

-rw-r--r--   1 root  wheel     38  6 Apr 21:29 __init__.py
drwxr-xr-x  12 root  wheel    408  4 May 21:29 __pycache__
-rw-r--r--   1 root  wheel  44644  6 Apr 21:29 client.py
-rw-r--r--   1 root  wheel  75973  6 Apr 21:29 cookiejar.py
-rw-r--r--   1 root  wheel  20360  6 Apr 21:29 cookies.py
-rw-r--r--   1 root  wheel  44788  6 Apr 21:29 server.py
Run Code Online (Sandbox Code Playgroud)

我一直在寻找client.py!而且它甚至包含很多代码,因此它不可访问吗?

不可能只尝试在python解释器中访问它!

>>> import http
>>> http.client
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'client'
Run Code Online (Sandbox Code Playgroud)

提前致谢!

glg*_*lgl 5

您已导入http。但是您也导入http.client了吗?

这是必需的,因为这取决于包的__init__.py子模块是否已导入。

  • 有趣的是,他已经有好几天了,在这里问了问题后的30秒钟,他得到了正确的答案。 (2认同)