俺们是Python的小菜,求大神帮忙解决个问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了俺们是Python的小菜,求大神帮忙解决个问题相关的知识,希望对你有一定的参考价值。
一编译就出现:
File "F:\workspace\DateProblem\JudgeYear.py", line 6
SyntaxError: Non-UTF-8 code starting with '\xc7' in file F:\workspace\DateProblem\JudgeYear.py on line 6, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
好像是说第八行代码用了第六行的东西,却没被声明?这是怎么回事?
原因:
你当前使用的python文件JudgeYear.py,是用的是非UTF-8编码的,即你用的是GBK编码的。
当你运行你的JudgeYear.py时,由于你没有指定你的JudgeYear.py文件本身所采用的编码类型,所以python解析器会去按照默认的UTF-8去解析你的JudgeYear.py,但是实际上你的JudgeYear.py是用GBK编码保存的,所以就出现上面的解析的错误了。
解决办法:
两种:
(1)指定JudgeYear.py的编码为GBK
做法:
在你的文件最开始部分,添加两行代码:
#!/usr/bin/python# -*- coding: gbk -*-
这个是用来指定当前文件,即你的JudgeYear.py文件,编码为gbk的。
(2)不指定JudgeYear.py的编码,但是把JudgeYear.py文件本身的编码转换为UTF-8
做法:
用Notepad++或VSCode,去将JudgeYear.py转换为UTF-8编码
参考资料:
用Notepad++实现不同字符编码之间的转换
VSCode中文件编码应用案例
参考技术A 凡是源文件中用到了ASCII以外的字符,都需要指定文件编码方式。因为默认的编码为ASCII.个人推荐所有文件一律使用UTF-8编码。因为常用操作系统都支持该编码,而且这个编码支持所有Unicode中包含的字符。
指定文件编码格式有好几种方式,但是都必须在源文件的前两行。例如:
#!/usr/bin/env python
# coding=utf-8
或
#!/usr/bin/env python
# -*- coding: utf-8 -*-
如果选择utf-8编码,保存文件时应该保存为UTF-8格式。具体如何操作视编辑器/IDE而定。
注意:Windows记事本默认保存格式为ANSI格式,中文是使用cp936编码,该编码兼容gb2312/gbk。
这是相关的官方文档:
PEP 0263 -- Defining Python Source Code Encodings
http://www.python.org/dev/peps/pep-0263/
参考资料:http://www.python.org/dev/peps/pep-0263/
参考技术B 编码格式不对 方法如下第1种.把相应Python程序文件的编码转成UTF-8格式就可以了
第2种.使用gbk
#!user/bin/env python3
# -*- coding: gbk -*- 参考技术C 你把input获取的year进行个强制类型转换成整型看看。
或者是你这段代码是粘贴进去的,带有其他字符,你我肉眼凡胎看不到,但计算机察觉了。
你删掉代码,手敲一遍看看呢?追问
这个程序是用eslipse运行的,运行不了。用python shall运行,却可以。。无奈啊....
参考技术D 俺的娘啊,你还是小菜,我看了就晕、、俺是小小菜求大神帮忙解决关于CentOS系统中安装软件提示缺少文件的问题
我的系统是CentOS7和CentOS7和CentOS6.5,想装个Bumblebee来冷却电脑,但安装VirtualGL总是出现缺少xx文件的问题,一直没有方法去彻底解决这类问题。。。现在此求大神帮忙解决!!!!
比较麻烦,你需要一个软件一个软件的找,比如这句 fltk is needed by VirtualGL...就是说装VirtualGL.需要这个fltk这个软件。根据提示还需要TURBOJPED_1.0这个软件,把这两个搞定后,在运行 rpm -ivh Virtu......,如果提示needed 什么什么,你还需要继续找。
如果用yum能安装就好了,你可以试一下。
yum install VirtualGl
http://www.fltk.org/software.php
http://sourceforge.net/projects/libjpeg-turbo/files/追问
yum install VirtualGl也不行,提示说没有这个软件包的说
参考技术A 建议下载源码来编译安装,否则rpm的依赖关系会折腾死你。其次,建议尽量不要在中文目录下面编译、安装或者执行操作,可能会带来不必要的麻烦
以上是关于俺们是Python的小菜,求大神帮忙解决个问题的主要内容,如果未能解决你的问题,请参考以下文章
求大神帮忙解决问题,JAVA中用BigDecimal计算完之后,想要有以下结果,怎么处理?