2014-12-07 59 views
0

我正在另一臺服務器上相同的腳本,它運行良好,但在新的服務器出現問題。是否因爲新服務器中的python版本過時?舊版本是Python Python 2.7.3,新的服務器有Python 2.6.6?Python代碼在舊版本的python中有錯誤?

一個錯誤就是這個Error was 'NoneType' object has no attribute 'get_text'的代碼如下

#Area 
    try: 
     area= soup.find('div', 'location') 
     result= str(area.get_text().strip().encode("utf-8")) 
     # print([area_result]) 
     area_result=cleanup(result).split('>')[2].split(";")[0] 
     nearby_result=cleanup(result).split('>')[2].split(";")[1] 
     # nearby_result=cleanup(area_result).split('>') 
     print "Area : ",area_result 
     print "Nearby: ",nearby_result 

     # print "Nearby : ",nearby_result 

    except StandardError as e: 
     area_result="Error was {0}".format(e) 
     print area_result 
+0

大概不會。看起來你的代碼有缺陷,並且在新的服務器上,一些對象沒有被加載或設置,在你的代碼需要一個對象的時候,你會得到一個None引用。 – 2014-12-07 17:01:28

+0

相同的代碼在其他服務器上運行良好 – Newbie 2014-12-07 17:09:34

+0

那麼,另一臺服務器肯定有一個完全不同的環境。 *可能* 2.6和2.7之間的差異導致一個對象在你認爲它不在的地方被實例化,但是它更可能是這兩個環境之間的不同。向我們展示代碼 - 引發錯誤的行,以及對象應該實例化的行。 – 2014-12-07 17:11:28

回答

0

的問題是,你認爲這是找到一個名爲位置DIV的一個實例soup.find將返回無。這很可能是由於您沒有相同的文件進行操作,或者可能使文件位於與您想象的位置不同的位置。假設成功,你的代碼應該檢查soup.find的結果。

這裏有一個版本的可能性但這更可能是輸入不同。你有沒有檢查兩個系統上安裝了哪種版本的美味湯(我認爲這就是soup引用的內容)。

+0

美麗的湯是相同的(4.3.2),但是Python版本不同 – Newbie 2014-12-07 17:28:47

+0

你在哪裏得到的輸入'soup'?從網站或文件?在兩臺服務器上檢查進入*湯的內容。這可能不是相同的內容。 – 2014-12-07 17:30:48

+0

http://dubai.dubizzle.com/property-for-sale/residential/apartment/這是網站 – Newbie 2014-12-07 17:33:17