2014-09-20 63 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

相關問題