Python:成功运行代码后,请求没有属性获取

Art*_*din 1 python python-requests

我创建了简单文件,用请求python库获取url,查看代码.第一次文件one.py工作得很好,并得到网址,但在那之后,我得到了在我的目录创建的pycache,我得到以下错误,以某种方式引用一个完全不同的文件从同一个目录.此外,在pycache中我可以看到一个文件email.cpython-36.pyc,其中包含以下代码:

3

?YÊ„@s&ddlZddlmZddÑZeÉdS)ÈN)?
BeautifulSoupcCs"tjdÉ}t|jdÉ}t|ÉdS)Nzhttp://clickaces.com/contact/zhtml.parser)?requests?getr?content?print)?html?bsobj©r    ?&/Users/mclaren/Desktop/june12/email.py?fetching_urls
r)r?bs4rrr  r   r   r
?<module>s 
Run Code Online (Sandbox Code Playgroud)

文件one.py:

import requests
from bs4 import BeautifulSoup

def fetching_url():

    html = requests.get("http://shakespeare.mit.edu/lll/full.html")
    bsobj = BeautifulSoup(html.content, "html.parser")
    print(bsobj.h3)

fetching_url()
Run Code Online (Sandbox Code Playgroud)

错误:

 File "one.py", line 1, in <module>
    import requests
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/__init__.py", line 52, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/__init__.py", line 27, in <module>
    from . import urllib3
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/__init__.py", line 8, in <module>
    from .connectionpool import (
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 11, in <module>
    from .exceptions import (
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/exceptions.py", line 2, in <module>
    from .packages.six.moves.http_client import (
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 646, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 616, in _load_backward_compatible
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/packages/six.py", line 203, in load_module
    mod = mod._resolve()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/packages/six.py", line 115, in _resolve
    return _import_module(self.mod)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/packages/six.py", line 82, in _import_module
    __import__(name)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 71, in <module>
    import email.parser
  File "/Users/mclaren/Desktop/june12/email.py", line 11, in <module>
    fetching_url()
  File "/Users/mclaren/Desktop/june12/email.py", line 5, in fetching_url
    html = requests.get("http://clickaces.com/contact/")
AttributeError: module 'requests' has no attribute 'get'
Run Code Online (Sandbox Code Playgroud)

jwo*_*der 5

email是requests间接依赖的标准库包.通过email.py在与脚本相同的目录中指定文件,您将无法requests使用真实email包.重命名,移动或删除email.py.