2010-08-28 144 views
0
lastPosition = GPS.getActualPosition() 

我試圖編譯一個代碼,通過telit模塊發送短信。Python無效的語法

上面的語句給出錯誤。我不明白,GPS圖書館是在它應該是的地方,我輸入它。

import SER 
import MOD 
import MDM 
import GPS 

語法錯誤:無效的語法

http://forum.sparkfun.com/viewtopic.php?f=13&t=20038 請幫助!

+3

你將不得不提供更多的代碼。機會是錯誤在別的地方。 – Ikke 2010-08-28 22:15:07

+2

請發佈整個錯誤,包括追溯以及所有相關的代碼。 「語法無效」不能幫助我們,因爲您發佈的代碼的語法很好。 – 2010-08-28 22:20:11

+0

http://forum.sparkfun.com/viewtopic.php?f=13&t=20038 john_melbourne \t PostPosted:太陽2010年2月28日6:55 PM 這裏是劇本,我只是想看看我怎麼樣可以執行phyton腳本。我上傳並編譯了另一個腳本,但它是簡單的腳本。我試圖執行這一個。當我打電話給該模塊時,我想收取短信。 http://img841.imageshack.us/img841/7357/errrx.png 這裏是錯誤 – gheddo 2010-08-28 22:29:24

回答

3

的OP所指的帖子(評論 - !一個偉大的想法,@gheddo編輯您的Q代替),here,有正是這個代碼(我複製,只有粘貼兩條相關線):

def get_gps(): 
gpspos = GPS.getActualPosition() #Read GPS position 

看到問題了嗎? 第二行沒有縮進!因此,語法錯誤:函數體(以及其他複合語句體)必須在Python中縮進。

這是根本沒有必要向我們發送讀取代碼,你知道...代碼的作者約翰·墨爾本,在第二天後在這個線程說,我引用:

Hi again Ryan,

The forum software removed the indentation from the Python script that I listed in my earlier mail.

You will need to re-indent the function bodies, if and while statements. See Flavio's original source if your not sure how.

所以這正是你必須做的 - 重新縮進函數體,ifwhile語句,如果需要的話可以參考Flavio Bernardotti的代碼。

此外,在未來,我會強烈建議你至少讀一個後後來在一個線程(如果看完整個主題是爲你工作太多...; - )...

+0

=)非常感謝。 看來,問題是我的可憐的詞彙=) 再次感謝。 – gheddo 2010-08-29 01:41:10

0

也許嘗試使用可見空白的文本編輯器?直到我在TextMate中打開「顯示隱形」之前,我一直有這樣討厭的bug。

+0

是否有另一種編譯此腳本的方法?我上傳了一個帶有txt擴展名的sms_send腳本,並啓用了它,然後我使用了execscr命令。它工作併發送給我一個文本。但是這個程序並不適用於這個腳本,或者我無法做到。當我打電話給模塊時,終端顯示RING標誌,但SER庫和其他部分不工作。 – gheddo 2010-08-28 22:55:01