PyCharm 中文 字符 python 报错 的 完美 解决方案!
PyCharm 中文 字符 python 报错 的 完美 解决方案!
#_*_ coding:utf-8_*_
https://www.python.org/dev/peps/pep-0263/
到python 的官网看了一下,找到了问题的根本原因!
python 默认使用 ASCII 作为标准编码格式;
python 指定字符编码格式的时候,必须使用以下3种方式之一:
(不同系统,不同编辑器,可能不同,都实验一下就能找到了!)
# coding=<encoding name>
或
#!/usr/bin/python
# -*- coding: <encoding name> -*-
或
#!/usr/bin/python
# vim: set fileencoding=<encoding name> :
一定要把 指定编码格式的语句放在.py文件的第一/第二行,
因为python 文件的第一/第二行必须要满足这个regular expression "^[ \t\v]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)"
只要严格遵守以上的3点要求,就可以从根本上解决中文输出是报错的问题了!
demo:
第一种:
# coding= utf8 第二种:
#!/user/bin/python
# _*_coding: utf8 _*_ 第三种:
#!/user/bin/python
# vim: set filecoding=utf8 :https://www.python.org/dev/peps/pep-0263/
Defining the Encoding (注意 空格)
Python will default to ASCII as standard encoding if no other
encoding hints are given. To define a source code encoding, a magic comment must
be placed into the source files either as first or second
line in the file, such as: # coding=<encoding name> or (using formats recognized by popular editors) #!/usr/bin/python
# -*- coding: <encoding name> -*- or #!/usr/bin/python
# vim: set fileencoding=<encoding name> : More precisely, the first or second line must match the regular
expression "^[ \t\v]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)".
The first group of this
expression is then interpreted as encoding name. If the encoding
is unknown to Python, an error is raised during compilation. There
must not be any Python statement on the line that contains the
encoding declaration. If the first line matches the second line
is ignored. To aid with platforms such as Windows, which add Unicode BOM marks
to the beginning of Unicode files, the UTF-8 signature
'\xef\xbb\xbf' will be interpreted as 'utf-8' encoding as well
(even if no magic encoding comment is given). If a source file uses both the UTF-8 BOM mark signature and a
magic encoding comment, the only allowed encoding for the comment
is 'utf-8'. Any other encoding will cause an error.Examples
These are some examples to clarify the different styles for
defining the source code encoding at the top of a Python source
file: 1. With interpreter binary and using Emacs style file encoding
comment: #!/usr/bin/python
# -*- coding: latin-1 -*-
import os, sys
... #!/usr/bin/python
# -*- coding: iso-8859-15 -*-
import os, sys
... #!/usr/bin/python
# -*- coding: ascii -*-
import os, sys
... 2. Without interpreter line, using plain text: # This Python file uses the following encoding: utf-8
import os, sys
... 3. Text editors might have different ways of defining the file's
encoding, e.g. #!/usr/local/bin/python
# coding: latin-1
import os, sys
... 4. Without encoding comment, Python's parser will assume ASCII
text: #!/usr/local/bin/python
import os, sys
... 5. Encoding comments which don't work: Missing "coding:" prefix: #!/usr/local/bin/python
# latin-1
import os, sys
... Encoding comment not on line 1 or 2: #!/usr/local/bin/python
#
# -*- coding: latin-1 -*-
import os, sys
... Unsupported encoding: #!/usr/local/bin/python
# -*- coding: utf-42 -*-
import os, sys
...
1
__author__ = 'xray'
# coding: utf8 # TempConvert.py
val = input("请输入带温度表示符号的温度值(例如: 32C): ")
if val[-1] in ['C', 'c']:
f = 1.8 * float(val[0:-1]) + 32
print("转换后的温度为: %.2fF" % f)
elif val[-1] in ['F', 'f']:
c = (float(val[0:-1]) - 32) / 1.8
print("转换后的温度为: %.2fC" % c)
else:
print("输入有误") ('\n'
' # elif !== else if\n'
' #_*_ coding:cp936_*_\n'
'## coding: utf8\n'
'## coding: gbk\n'
) '''
# elif !== else if
#_*_ coding:cp936_*_
## coding: utf8
## coding: gbk
'''demo:
# coding: utf8 # TempConvert.py
val = input("请输入带温度表示符号的温度值(例如: 32C): ")
if val[-1] in ['C','c']:
f = 1.8 * float(val[0:-1]) + 32
print("转换后的温度为: %.2fF"%f)
elif val[-1] in ['F','f']:
c = (float(val[0:-1]) - 32) / 1.8
print("转换后的温度为: %.2fC"%c)
else:
print("输入有误")
1
1
1
1
1
1
1
1
1
1
1
1
1
1
PyCharm 中文 字符 python 报错 的 完美 解决方案!的更多相关文章
- 关于Entity Framework中的Attached报错的完美解决方案终极版
之前发表过一篇文章题为<关于Entity Framework中的Attached报错的完美解决方案>,那篇文章确实能解决单个实体在进行更新.删除时Attached的报错,注意我这里说的单个 ...
- 关于Entity Framework中的Attached报错的完美解决方案
我们在使用Entity Framework进行CRUD时,为了提升查询效率,一般均会启动NoTracking,即不追踪变化,设置代码如下: //这是DB First模式下设置方法: aTestEnti ...
- pycharm 中 import requests 报错
一 , 使用Pycharm来抓取网页的时候,要导入requests模块,但是在pycharm中 import requests 报错. 原因: python中还没有安装requests库 解决办法: ...
- PyCharm导入tensorflow包报错的问题
[注]PyCharm导入tensorflow包报错的问题 若是你也遇到这个问题,说明你也没有理解tensorflow到底在哪里. 当安装了anaconda3.6后,在PyCharm中设置interpr ...
- Python报错module 'scipy.misc' has no attribute 'xxx'
Python报错module 'scipy.misc' has no attribute 'imresize' 解决办法: 安装Pillow包,命令如下: pip install Pillow 然后重 ...
- 【adb命令】在cmd窗口中使用adb install命令安装 中文名字apk报错的解决办法
1.在cmd窗口中使用adb install命令安装中文名字apk报错,安装英文名字apk就正常,详细报错如下图: 2.查看adb版本号:adb version 3.怀疑是adb版本的原因,尝试换个最 ...
- weblogic 包里面有中文文件名 会报错
目前:没有解决,只要有中文启动就报错 http://bbs.csdn.net/topics/10055670 http://www.2cto.com/os/201406/311394.html
- Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法
转: Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法 更新时间:2018年02月14日 17:13:03 投稿:wdc 我要评论 Java开发中 ...
- Python报错总结丶自定义报错
Python报错总结: 常见异常 1,NameError: name 'a' is not defined:未定义函数名 2,IndentationError: uninden ...
随机推荐
- try-catch-finally中的4个大坑,不小心就栽进去了!
在 Java 语言中 try-catch-finally 看似简单,一副人畜无害的样子,但想要真正的"掌控"它,却并不是一件容易的事.别的不说,咱就拿 fianlly 来说吧,别看 ...
- 签名 sign key 纸质邮件 历史 RSA诞生历史
API接口签名校验,如何安全保存appsecret? - 知乎 https://www.zhihu.com/question/40855191 要保证一般的客户端-服务器通信安全,可以使用3个密钥. ...
- 洛谷P3833
Description 树链剖分板子题 考查两种操作 A u v w 把 u 节点到 v 节点路径上所有节点权值加 w Q u 求以 u 为根节点的子树权值之和 首先需要了解线段树和 dfs 序,我这 ...
- exkmp(Z函数) 笔记
exkmp 用于求解这样的问题: 求文本串 \(T\) 的每一个后缀与模式串 \(M\) 的匹配长度(即最长公共前缀长度).特别的,取 \(M=T\),得到的这个长度被称为 \(Z\) 函数.&quo ...
- Java——介绍
Java基础语法: 一个Java程序可以认为是一系列对象的集合,而这些对象通过彼此的方法来协同工作. 对象: 对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行 ...
- redis-服务器配置-主从
1.配置sentinel.conf -------------------------------------------------- port 26379 dir "/home/app/ ...
- 武装你的WEBAPI-OData资源更新Delta
本文属于OData系列 目录 武装你的WEBAPI-OData入门 武装你的WEBAPI-OData便捷查询 武装你的WEBAPI-OData分页查询 武装你的WEBAPI-OData资源更新Delt ...
- docker学习二
B站视频地址 3.docker的基本操作 3.1 安装docker 1.下载关于Docker的依赖环境 想安装Docker,需要先将依赖的环境全部下载下来,就像Maven依赖JDK一样 yum -y ...
- 2020第十一届蓝桥杯第二场省赛C++A组【A-H】
A. 门牌制作 答案 624 代码 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_st ...
- HDU6403 Card Game【基环树 + 树形DP】
HDU6403 Card Game 题意: 给出\(N\)张卡片,卡片正反两面都有数字,现在要翻转一些卡片使得所有卡片的正面的值各不相同,问最小翻转次数和最小翻转情况下的不同方案数 \(N\le 10 ...


