2014-09-20 38 views
0

我使用urllib尝试,但它显示的错误,版本是Python 2中,我也使用urllib2urllib.request.open()尝试没有属性。的urllib,urllib2的,urllib.request.open,AttributeError的:“模块”对象有“的urlopen”

import urllib 
import sys 

print (sys.version) 

myurl = urllib.urlopen('http://www.profmcmillan.com') 
print (myurl) 

输出:

2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] 
.. 
AttributeError: 'module' object has no attribute 'urlopen' 

与urllib2的

import urllib2 
import sys 

print (sys.version) 

myurl = urllib2.urlopen('http://www.profmcmillan.com') 
print (myurl) 

输出:

2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] 
.. 
    myurl = urllib2.urlopen('http://www.profmcmillan.com') 
AttributeError: 'module' object has no attribute 'urlopen' 

相同的,如果我进口urllib而使用urllib.request.open

+1

什么是您的文件/模块的名称?我的猜测是默认类型被覆盖 – karthikr 2014-09-20 14:39:04

+0

你的'sys.path'看起来像什么? – 2014-09-20 18:11:31

回答

2

可能是你命名了你的文件urllib.py或者你在python路径中有这样的文件。所以:

import urllib 

它不会导入真正的urllib库,而是您的一个文件。您可以检查与模块文件路径:

import urllib 
print urllib.__file__ 

例如矿是指:/usr/lib/python2.7/urllib.pyc

+0

是的,这就是我所能想到的。代码是完美的 – 2014-09-20 14:43:18

+1

哇,谢谢@enrico这正是问题,你怎么想出来的:) – garg10may 2014-09-21 03:45:42

+1

@ garg10may嗯,这很奇怪,但它是唯一的可能性:) – 2014-09-21 08:18:20

相关问题