3

我对内置的 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'

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

因为找不到这个问题的根源,我开始探查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

好吧,我知道帮助命令信息是自动生成的,并且这些软件包可能已被删除或其他东西。所以我去了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

这是我一直在寻找的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'

提前致谢!

4

1 回答 1

5

你导入了http. 但是你也导入http.client了吗?

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

于 2013-05-31T14:21:18.430 回答