我正在另一臺服務器上相同的腳本,它運行良好,但在新的服務器出現問題。是否因爲新服務器中的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
大概不會。看起來你的代碼有缺陷,並且在新的服務器上,一些對象沒有被加載或設置,在你的代碼需要一個對象的時候,你會得到一個None引用。 – 2014-12-07 17:01:28
相同的代碼在其他服務器上運行良好 – Newbie 2014-12-07 17:09:34
那麼,另一臺服務器肯定有一個完全不同的環境。 *可能* 2.6和2.7之間的差異導致一個對象在你認爲它不在的地方被實例化,但是它更可能是這兩個環境之間的不同。向我們展示代碼 - 引發錯誤的行,以及對象應該實例化的行。 – 2014-12-07 17:11:28