Python 3.5.1 urllib没有属性请求

use*_*806 16 python urllib urlopen python-3.x

我试过了

import urllib.request
Run Code Online (Sandbox Code Playgroud)

要么

import urllib
Run Code Online (Sandbox Code Playgroud)

我的urllib的路径是 /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/__init__.py

我想知道urlopen在哪里,或者我的python模块指向错误的文件?

Swo*_*man 32

用这个:

import urllib.request

原因是:

对于像这样的包,您有时需要明确导入所需的部分.这样,urllib模块不需要加载所有内容只是因为你想要一个小部分.

根据这个

  • 一些有趣的背景信息可以在[此处](https://bugs.python.org/issue36701)找到。这同样适用于“email.message”子模块。基本上,“os.path”是 stdlib 中唯一违反此规则的子模块。 (2认同)

Kas*_*hif 16

用这种方式

import urllib.request
urllib.request.urlopen('http://216.58.192.142',timeout=1)
Run Code Online (Sandbox Code Playgroud)


MPę*_*ski 5

在python 3.6.x中,这对我有用,因此我根本不必更改代码:

import urllib.request as urllib
Run Code Online (Sandbox Code Playgroud)

  • 如果其他人需要编辑您的代码,这将导致混乱。 (3认同)

小智 5

就我而言,我所做的是创建一个文件“http.py”,因此将该名称更改为“http_my.py”解决了该问题。与@JohnnyFun相同