用Python .join拼接SQL的時候
遇到一個錯誤:TypeError: cannot concatenate 'str' and 'dict' objects,
檢查了一下確認是join了兩個類型的變量,一個是
string,一個是dict(字典),把兩邊都變成string型就可以了。
有意思的是在處理的過程中修改了簡單的幾行代碼,系統卻起不來了,因為cherrypy設置了debug模式,理應一旦有code改變會自動
重啟web server,查看了移一下log文件,發現:
IndentationError: unexpected indent
仔細檢查了一下code,確認縮進沒問題,但是web server就是死活起不來,搜索了一下,因為用的是Notepad++,其中空格和tab鍵原來是
有區別的,雖然tab鍵也是4個空格,但是其實不一樣,我們可以通過設置Notepad++的View->Show Symbol->Show White Space and TAB
然后可以看到空格和tab鍵是不一樣的,正常情況下我們回車的話,默認顯示是tab的格式,這個也可以通過設置Notepad++來實現Tab
replace by space,設置路徑:Setting->Preferences->Language/Tab Setting 選擇python,勾上Replace by space,再回車的時候就
沒不同的問題了,全部是空格縮進就沒問題了。
研究了一下Python的縮進問題:
學習 Python 與其他語言最大的區別就是,Python 的代碼塊不使用大括號 {} 來控制類,函數以及其他邏輯判斷。python 最具特色
的就是用縮進來寫模塊。縮進的空白數量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。
體會到了Python的嚴格。以后遇到縮進問題的話,不要輕易下結論我的代碼沒問題了,好好檢查一下。