Python中的IndentationError解决
用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的严格。以后遇到缩进问题的话,不要轻易下结论我的代码没问题了,好好检查一下。
最新文章
- [译]SSAS下玩转PowerShell
- [MVC学习笔记]5.使用Controller来代替Filter完成登录验证(Session校验)
- Emacs-24.1 + ECB-2.40 + cscope-15.7a + cedet 无root权限指定目录安装与配置
- SQL GROUP BY 后排序
- 【工作记录】c#操作win7注册表
- UVa133.The Dole Queue
- 使用JS控制struts的日期控件datetimepicker
- Android采用HttpClient下载图片
- Java的基本数据类型和运算
- 聊聊 JUC 并发包
- 使用 py.test 对 python 代码进行测试
- 使用git或TortoiseGit推送项目至gitlab
- 洛谷 P3942 将军令 解题报告
- 利用cURL会话获取一个网页
- hdoj2571 命运
- 职责链模式c#(处理车)
- IntelliJ IDEA 快捷键(一)(window版)
- WindowManager.LayoutParams全解
- win10 清理winsxs文件夹
- Luogu 3626 [APIO2009]会议中心