python 指定编码

通常我们看到的指定python编码的方式有
# coding=utf-8或者
# coding:utf-8 或者
# -*- coding:utf-8 -*-

从官方文档查到指定编码的规则需要满足以下正则表达式

^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)

所以说以上写法都正确,或者可以再加一点,改成 # I want to use coding=utf-8 也可以,这个指定编码的注释叫魔术注释(magic comment)。

除此之外我们还见过

#!/usr/bin/python
# coding=utf-8

这种形式,那么指定编码的注释放第一行或者第二行有没有什么区别?文档中原话是这样说的

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

意思就是

这个正则表达式匹配到的第一组作为编码名称,未指定编码编译时就会报错,编码声明的上面不能有任何python代码,如果第一行匹配到那么第二行就会被忽略

也就是声明编码的注释可以放第一行,也可以放第二行(第三行不行),但是只有最上面的编码注释会生效。
那么当她在第二行时,上面我们所写的第一行#! /usr/bin/python是什么意思呢?
这行是声明脚本由什么程序执行,当使用python test.py这种形式执行代码时,这行没什么用处,因为你指定了脚本的运行程序,当你用./test.py这种形式运行脚本才会有用,脚本会根据第一行声明自动使用python来运行脚本

设置python编码相关推荐

  1. 分享一点python 编码设置的知识

    昨天我写了个python 操作mysql的方法,按照文档的提供的参数来写,写完了以后自己测试发现报了一个编码的错误,也不知道为什么会报这个错误,我一般对编码的错误比较在意,原来搞php的时候,就出现过 ...

  2. 1、代码中设置编码、编辑器中设置Python的编码

    1Python中文编码 1.1代码中设置编码 Python中默认的编码格式是ASCII格式,在没有修改编码格式时无法正确打印汉字,所以在读取中文的时候会报错. 解决办法为只要在文件开头加入 # -- ...

  3. python默认编码方式_关于设置python默认编码方式的问题

    2019-8-27 07:45:36 本帖最后由 傻纸 于 2019-8-27 10:02 编辑 查了一会资料得出的结论是如果你用的是python3.x,那么就最好别去设置sys.defaultenc ...

  4. python设置默认utf8编码_Python设置默认编码为utf8的方法

    本文实例讲述了python设置默认编码为utf8的方法.分享给大家供大家参考,具体如下: 这是Python的编码问题,设置python的默认编码为utf8 python安装目录:/etc/python ...

  5. python文件开头第一行设置utf-8编码

    python文件开头第一行设置utf-8编码 若不添加,文件中涉及到中文,执行会报错如下: SyntaxError: Non-ASCII character '\xe5' in file /Users ...

  6. PYTHON编码处理-str与Unicode的区别

    一篇关于STR和UNICODE的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,http参数等等 ...

  7. python中文编码-彻底弄懂python编码

    在编写python程序的过程中,中英文混用经常会出现编码问题.围绕此问题,本文首先介绍编码的含义及常用编码,随后列举几个python经常遇到的编码异常及解决方法,接着列举笔者在实践中遇到的异常出现的情 ...

  8. python编码问题总结

    http://www.xprogrammer.com/1258.html 最近利用python抓取一些网上的数据,遇到了编码的问题.非常头痛,总结一下用到的解决方案. linux中vim下查看文件编码 ...

  9. python编码-python中处理中文编码问题

    今天在尝试Python的CGI模块时遇到中文字符不能正确显示的问题,很郁闷. 在网上仔细找了找,终于解决了这个问题,现在将解决方 法陈述如下,以防下次失误. 页面源代码如下 #-*- coding: ...

最新文章

  1. 如何使网站的右键失效
  2. Java 语言中十大“坑爹”功能!
  3. proteus 8.4安装教程
  4. Linux命令应用大词典-第1章 登录、退出、关机和重启
  5. zt:缓存一致性(Cache Coherency)入门 cach coherency
  6. 咱中国女人太贪钱? 其实真不怨她们
  7. 网络管理中的安全保障
  8. java中接口私有反方_接口中的Java 9私有方法
  9. mql 查询多结果_MQL入门到精通EA教程第六课MQL语言基础(五)
  10. 【系统安全学习3】拒绝服务攻击
  11. python 矩阵连乘
  12. 个人收藏机器学习教程
  13. JAVA权重计算(根据自己理解计算的,不喜勿喷)
  14. PLC|MCU|DCS|模拟信号|隔离变送器|0-5V|0-10V|4-20mA|0-1V|0-75mV|0-30mV|0-1mA|0-20mA|隔离放大器|采集隔离模块应用原理
  15. 离职时,是在公司群里大方告别,主动退群?还是一言不发,默默退出?
  16. 阿里七年Java练习生,如今年薪50W,P7的大佬是怎么样的?
  17. php simplexmlelement object 数组,php中将SimpleXMLElement Object数组转化为普通数组
  18. time of our lives---从世界杯主题曲看厚脸皮的德国人:)
  19. StreamNative 宣布 2300 万美元 A 轮融资,Prosperity7 Ventures 与华泰创新联合领投
  20. Ubuntu 20.4 安装 Sublime Text 步骤

热门文章

  1. Cpolar内网穿透的面板功能介绍
  2. hdu 5063 操作逆推+mul每次要*2%(modo - 1)
  3. python用pystan贝叶斯IRT模型拟合Rasch模型分析学生考试问题数据
  4. Linux系统安装MySQL(rmp方式)
  5. linux驱动之nand flash
  6. #今日论文推荐#NAACL 2022 | 基于Prompt的文本生成迁移学习
  7. 基于STM32的正弦波上下变频
  8. 公司使用charles抓包,手机设置代理之后提示网络不可用个人解决方案
  9. CSS 几款比较常用的翻转特效
  10. java 堆栈信息分析_堆栈信息分析