博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python笔记---错误笔记
阅读量:7123 次
发布时间:2019-06-28

本文共 2764 字,大约阅读时间需要 9 分钟。

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 osdata_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:
........
    出现原因:
        配置 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 文件:

转载地址:http://rwael.baihongyu.com/

你可能感兴趣的文章
Open Platform,全球首个为应用程序服务的区块链基础支付平台
查看>>
IOS隐藏键盘
查看>>
代码为什么那么乱! 换种方法学面向对象
查看>>
WPF中动态添加控件,并为控制指定样式
查看>>
中国人工智能发展到什么地步了?百度副总裁在美版知乎上这样说
查看>>
高通美德法三国起诉魅族,后者第一时间回应但逻辑难圆
查看>>
Aruba:物联网有望在2019年大规模应用
查看>>
区块链应用场景:征信和权属管理
查看>>
CES Asia专题|中国移动发布全球最小通信模组,助力物联网发展
查看>>
【MySql】赶集网mysql开发36条军规
查看>>
服务越好收入越高,300万快递小哥有了终身成长体系
查看>>
Linux多线程3-3_线程取消
查看>>
exchange 用户建立好之后,无法自动产生邮箱 问题解决
查看>>
斐波那契的四种求法
查看>>
in和exists的区别与SQL执行效率分析
查看>>
阿里巴巴开放“Buy+”购物系统,淘宝造物节约么?
查看>>
ipa-server
查看>>
2018云栖大会深圳峰会-企业级互联网架构专场看点提前大放送!
查看>>
邱剑 | 美团云容器实践之路
查看>>
C#连接Oracle错误:OCIEnvCreate 失败,返回代码为 -1
查看>>