Python笔记---错误笔记
2024-10-01 17:55:43
Python---错误笔记
1. Python编码问题:
我们在编写 Python 脚本时,往往会写上中文凝视。
可是有时候,当我们执行程序时。却发现例如以下错误:SyntaxError: Non-ASCII character '\xe5' in file /home/johnnie/Files/Workspace/python/head_first/chapter2/nester.py on line 7, but no encoding declared;
see http://python.org/dev/peps/pep-0263/ for details.
出现原因:就是中文编码的问题
解决方式:
法1:在文件里开头添加例如以下:#!/usr/bin/python 或 者 #!user/bin/env python
#encoding=utf-8
# -*- coding: utf-8 -*- # 推荐这样的方式:能够解决模块间导入中文的问题,建议每次都写上[注意的是声明的编码必须与文件实际保存时用的编码一致,否则非常大几率会出现代码解析异常。如今的IDE通常会自己主动处理这样的情况,改变声明后同一时候换成声明的编码保存,但文本编辑器控们须要小心]
2. Python文件读取时出现的错误:
在执行 read_file.py 程序时,遇到一个错误:need more than 1 value to unpack
出现原因: line.split(":", 1) 这一语句造成的错误
出现原因: line.split(":", 1) 这一语句造成的错误
解决方式:我们应该查看我们所要读取的文件是否有末尾有空行,将空行删除就可以
read_file 程序代码:
#!/usr/bin/python
#encoding=utf-8
# Filename: read_file.py
# 读取数据 import os data_path = "/home/johnnie/文档/Workspace/python/data/sketch.txt" if os.path.exists(data_path):
data = open(data_path)
while True:
for line in data.readlines():
if len(line) == 0:
break
else:
# 添加一逻辑推断: 查看当前数据行是否包括 ":" 字符,若包括。则切割数据
# find(): 找出一个字符串中的子串,若没找到,则返回 -1
# not: 对表达式取反
if not line.find(":") == -1:
try:
(role, msg) = line.split(": ", 1)
print ("{0} said:{1}").format(role, msg)
except ValueError:
pass
data.close()
else: # IOError
print "The data file is missing!"
3. Python 的 Web server执行 CGI 脚本报 FileNotFound 的错误:
当 Web server执行 CGI 脚本遇到 FileNotFoundError: [Errno 2] No such file or directory 时,不要急,先查看:
1). 是否真的有该 CGI 脚本?
2). 是否给予该脚本可执行权限?
3). 最easy疏忽的一部就是: CGI 脚本的首行必须加上例如以下代码:
#!/usr/bin/python 或 #!/usr/bin/python3 而不是 #!usr/bin/python [注意: usr前面另一个左斜线。!
1). 是否真的有该 CGI 脚本?
2). 是否给予该脚本可执行权限?
3). 最easy疏忽的一部就是: CGI 脚本的首行必须加上例如以下代码:
#!/usr/bin/python 或 #!/usr/bin/python3 而不是 #!usr/bin/python [注意: usr前面另一个左斜线。!
。!]
4. Django 模板中使用 {%url%}标签报错:
在 Django 的模板文件 blog_detail.html 中的 <a> 标签的 href 属性中使用 {% url %} 标签,出现例如以下错误:arguments '()' and keyword arguments '{}' not found.....
源码片段。根文件夹下的 urls.py:
urlpatterns = [
......,
url(r'^sblog/blog_details/(\d+)', 'sblogs.views.blog_detail'),
]
blog_details.html:
....
<a href = "{% url 'sblog/blog_details' blog.id %}">....</a>
出现原因:
配置 urls 和 标签的使用有误。
首先,对于使用 {% url %} 标签时,推荐使用的是对于每个 app,都在
该 app 文件夹下新建一个 urls.py 的文件,对该 app 的 url 进行管理。
且应该将 url 定义为例如以下形式:url(r'^accounts/logout/$', logout_view, name = 'logout_view')
解决方式:
1) 改动根文件夹下的 urls.py:
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^$', 'blog.views.home', name="home"), # 以递归的方式来配置 url: sblog 下配置了一个 urls.py
url(r'^sblog/', include('sblog.urls')),
]
2) 在 app 下新建 urls.py:
urlpatterns = patterns(('sblog.views'),
url(r'^blog_list', "blog_list", name="blog_list"),
url(r'^blog_detail/(\d+)', 'blog_detail', name="blog_detail"),
)
3) 改动 blog_detail.html 文件:
<a href="{% url 'blog_detail' blog.id %}">{{blog.caption}}</a>
最新文章
- asp.net 时间操作
- 72. Generate Parentheses &;&; Valid Parentheses
- 原生JS封装简单动画效果
- css浏览器窗口大小
- mac在xampp下使用yii2.0开发环境配置
- 在JAVA中使用JSONObject生成json
- Shell 脚本基本操作练习
- HTML中的英文缩写标记、属性
- Linux查看系统负载常用命令
- PHPsthdy+xdebug
- C#中的?和??,null和Nullable
- salesforce lightning零基础学习(十一) Aura框架下APP构造实现
- Collection集合复习方法回顾
- Comet OJ - Contest #2 简要题解
- Django路由配置系统、视图函数
- 2018 “百度之星”程序设计大赛 - 初赛(A)度度熊学队列 list rope
- 初识Spring——Spring核心容器
- 6. GC 调优(工具篇) - GC參考手冊
- tomcat加固
- <;mvc:annotation-driven />;注解详解
热门文章
- Redis-Sentinel原理及配置详解【转】
- Java基础学习总结(9)——this关键字
- iOS xib View宽高不能改变
- BZOJ2016: [Usaco2010 Feb]Chocolate Eating
- difference in physical path, root path, virutal path, relative virtual path, application path and aboslute path?
- php中对象转数组有哪些方法(总结测试)
- javascript 左侧菜单
- 洛谷P2598 [ZJOI2009]狼和羊的故事
- url传递中文的解决方案总结
- 分享关于浏览器对象 history对象