用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的严格。以后遇到缩进问题的话,不要轻易下结论我的代码没问题了,好好检查一下。