1. 程式人生 > >AttributeError: 'module' object has no attribute 'post'問題

AttributeError: 'module' object has no attribute 'post'問題

在學習python網頁爬蟲時,測試requests的post方法進行表單提交時,命名.py檔案為requests.py 程式碼如下:

import requests

params={'firstname':'xing','lastname':'ming'}
r=requests.post("http://pythonscraping.com/files/processing.php",data=params)
print r.text

在執行時,報錯:AttributeError: ‘module’ object has no attribute ‘post’
查詢資料發現,命名.py指令碼時,不能與模組名,預留字同名,若同名,生成的.pyc檔案就有問題,導致報錯。
解決辦法:
首先修改.py指令碼的命名,不能與模組名,預留字同名。
修改完成後,還需要刪除工程中生成的.pyc檔案,因為py指令碼每次執行時均會生成.pyc檔案;在已經生成.pyc檔案的情況下,若程式碼不更新,執行時依舊會走pyc,所以要刪除.pyc檔案。
然後執行,即可成功。