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) 这一语句造成的错误  
解决方式:我们应该查看我们所要读取的文件是否有末尾有空行,将空行删除就可以
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前面另一个左斜线。!

。!]

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>

Python笔记---错误笔记的更多相关文章

  1. Python实用笔记——错误处理

    让我们用一个例子来看看try的机制: try: print('try...') r = 10 / 0 print('result:', r) except ZeroDivisionError as e ...

  2. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  3. python核心编程--笔记

    python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找pyt ...

  4. python 库安装笔记

    python 库安装笔记 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-2-22 友情提示 安装python库的过程中 ...

  5. Python Click 学习笔记(转)

    原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...

  6. Python网络爬虫笔记(五):下载、分析京东P20销售数据

    (一)  分析网页 下载下面这个链接的销售数据 https://item.jd.com/6733026.html#comment 1.      翻页的时候,谷歌F12的Network页签可以看到下面 ...

  7. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  8. python request接口测试笔记(1)

    python request接口测试笔记(1) 涉及到的功能说明: 需要登录拿到token,才能进行下一个接口的请求 读取csv文件中的信息,作为接口的参数 将接口响应结果,写入csv文件,以便分析统 ...

  9. Python 刷题笔记

    Python 刷题笔记 本文记录了我在使用python刷题的时候遇到的知识点. 目录 Python 刷题笔记 选择.填空题 基本输入输出 sys.stdin 与input 运行脚本时传入参数 Pyth ...

随机推荐

  1. Pythonx_day1

    # python3中的 str 和 byte(即二进制)转换 msg = "β" # 转换为二进制,打印,‘encoding = 'utf-8'为值定转换原str的编码格式’ pr ...

  2. 【Henu ACM Round#20 E】Star

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 找规律. 1,13,37.... 6n(n-1) + 1 [代码] #include <bits/stdc++.h> # ...

  3. 【CS Round #36 (Div. 2 only) A】Bicycle Rental

    [题目链接]:https://csacademy.com/contest/round-36/task/bicycle-rental/ [题意] 让你从n辆车中选一辆车; 每一辆车有3个属性 1.到达车 ...

  4. BNUOJ 4049 四叉树

    四叉树 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class name: Ma ...

  5. ECNUOJ 2149 华丽的队列

    华丽的队列 Time Limit:3000MS Memory Limit:65536KBTotal Submit:531 Accepted:68 Description  每年,都有很多新同学来到我们 ...

  6. ArcGIS api for javascript——查询没有地图的数据

    描述 本例展示了用户能够从没有显示服务的地图服务查询数据.大部分地图服务包含属性信息的数据集,数据集能够被查询并显示在一个简单的列或表格里. 本例按提供的州名称查询USA人口普查数据,然后显示关于州的 ...

  7. Linux查看当前正在执行的进程

    Linux查看当前正在执行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps PID TTY TIME CMD 2576 pts/0 00:00:00 ...

  8. Mysql Workbench初体验

    可以画图,建立表关系. 分类整理数据表. 可以直接导出sql语句. 可以导出png图片. 可以连接mysql数据库. 基本满足了各项需求. 这次初体验只是基本的功能,这个软件对于mysql还是很牛的.

  9. 78.Nodejs基础中间件Connect

    转自:https://www.cnblogs.com/chris-oil/p/5625437.html 前言 “中间件”在软件领域是一个非常广的概念,除操作系统的软件都可以称为中间件,比如,消息中间件 ...

  10. SGU 461 Wiki Lists dfs

    不难的题,不过蛮有意思的dfs #include <iostream> #include <cstdio> #include <fstream> #include ...