Python头部2行 #!/usr/bin/python 和 #!/usr/bin/env 的区别 以及编码方式的指定 2018-10-23
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python头部2行 #!/usr/bin/python 和 #!/usr/bin/env 的区别 以及编码方式的指定 2018-10-23,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1110字,纯文字阅读大概需要2分钟。
内容图文
![Python头部2行 #!/usr/bin/python 和 #!/usr/bin/env 的区别 以及编码方式的指定 2018-10-23](/upload/InfoBanner/zyjiaocheng/1136/36c98259d541468f9c795ed3e1865f92.jpg)
参考文档
【整理】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型
Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别
1. #!/usr/bin/python 和 #!/usr/bin/env 的区别
这两个语句与运行模式有关系;
如果我们用普通运行模式如Linux: python test.py
直接指定使用系统默认的 python 来运行该脚本;则以上两语句无效,没有什么用处;
如果想让 python 程序像普通程序一样运行,例如:./test.py
(文件要有可执行权限 chmod a+x test.py
), 这个语句就起作用了,它用来为脚本语言指定解释器,通常认为 #!/usr/bin/env python
要比#!/usr/bin/python
要好,因为 python 解释器并不安装在默认路径 /usr/bin
中,比如虚拟环境中
-
#!/usr/bin/env python
这种写法在你的机器上安装了多个版本的python 的时候有意义,这样声明的时候,会去取机器的 PATH 中指定的第一个 Python 来执行脚本。如果这时候由配置了虚拟环境的话,那么这样写可以保证脚本使用虚拟环境中的 Python 来执行 -
#!/usr/bin/python
表示写死了就是要用 /usr/bin/python 这个目录下的python 来执行脚本,这样程序的可移植性就差了,如果此路径下的 Python 命令不存在就会报错
因此,推荐使用 #!/usr/bin/env python
2. #-*- coding = utf-8 -*-
格式:满足正则表达式:"coding[:=]\s*([-\w.]+)"
熟悉正则表达式的同学可以写出以下符合要求的类型声明:
coding: utf-8
coding=utf-8
coding= utf-8
encoding:utf-8
crifanEncoding=utf-8
- 如果没有此文件编码类型的申明,则 python 2.X 默认以 ASCII 编码去处理,python 3.X默认为 utf-8 (unicode的延伸)
- 声明文件类型的语句必须写在文件的第一行或者第二行
原文:https://www.cnblogs.com/qiulinzhang/p/9901110.html
内容总结
以上是互联网集市为您收集整理的Python头部2行 #!/usr/bin/python 和 #!/usr/bin/env 的区别 以及编码方式的指定 2018-10-23全部内容,希望文章能够帮你解决Python头部2行 #!/usr/bin/python 和 #!/usr/bin/env 的区别 以及编码方式的指定 2018-10-23所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。