网站商务通弹出窗口图片更换设置,移动端cpu,知名seo网站优化,网络管理与维护是做些什么本文档描述了Python语言文件头里典型注释的含义。
1. 指定解释器
不管在linux还是在windows下#xff0c;要运行一个python文件#xff08;比如hello.py#xff09;的方式一般都是
python ./hello.py
1
然而#xff0c;有一种方式可以直接运行hello.py文件#xff0c;那就…本文档描述了Python语言文件头里典型注释的含义。
1. 指定解释器
不管在linux还是在windows下要运行一个python文件比如hello.py的方式一般都是
python ./hello.py
1
然而有一种方式可以直接运行hello.py文件那就是直接在python文件开头指定所使用的python解释器。然后就可以直接用
./hello.py
1
运行了当然得先chmod x ./hello.py让这个文件有可执行权限。
“在python文件开头指定解释器”的方式有两种。另外如果你python刚学不久建议可以先去小编的Python交流.裙 一久武其而而流一思数字的谐音转换下可以找到了里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流进步更快哦
1.1. 直接指定解释器路径
#!/usr/bin/python
1
上面这种方式指定了必须用/usr/bin/python这个解释器来解释本python文件。
当然了也可以写成
#!/usr/local/python3/bin/python3.4
1
只要那个路径下有python解释器。
1.2. 指定系统环境变量设定的解释器路径
#!/usr/bin/env python
1
而这种方式指定了使用linux环境变量$PATH里某个路径下名为python的解释器来解释本python文件。
注意到开头/usr/bin/env是linux里读写环境变量的一个程序
如果环境变量$PATH的内容是/usr/bin:/usr/local/bin:/usr/local/python3/bin那么上面的注释就意味着会依序寻找这些路径
1. /usr/bin/python
2. /usr/local/bin/python
3. /usr/local/python3/bin/python
第一个存在的路径就会作为python解释器使用。
当然如果写成这样
#!/usr/bin/env python3
1
那么查找解释器的路径顺序就会变成
1. /usr/bin/python3
2. /usr/local/bin/python3
3. /usr/local/python3/bin/python3
2. 标明本py文件的编码类型
前置知识文本文件保存在硬盘上时是需要按照一定编码规则来保存的。比如GBK、UTF-8、UCS2之类。而文本编辑器、阅读器、浏览器打开硬盘上的文本文件时需要知道这个文本文件的编码规则。
以下是正文——
python文件第二行一般是下面两种之一
# -*- coding: utf-8 -*-
1
或者
# coding: utf-8
1
这一行的意思是告诉python解释器这个文件是以UTF-8方式编码存储的。其实类似文本文件开头的BOM。
对于全文都是ASCII编码的py文件而言这行注释一般没用因为ASCII字符在绝大多数编码存储方式中都是相同的除了UCS2这种。但是如果代码中出现了明文的中文、日文之类非ASCII的字符作为字符串常量或注释他们在不同编码存储方式下在硬盘上的字节流是不同的。
例如下面这段python代码
s 函数
1
在硬盘上保存时会这样
编码字节流
GBK
73 20 3D 20 22 BA AF CA FD 22
UTF-8
73 20 3D 20 22 E5 87 BD E6 95 B0 22
注意到除了两个汉字其他字符对应的字节都是一样的比如最后那个0x22表示最后那个双引号
如果不告诉Python解释器如何理解这个py文件就会出现乱码。
比如如果py文件实际上是以UTF-8方式存储的就是表格第二行但python解释器却以GBK编码存储去理解它那么这段代码会被理解为
s 鍑芥暟
1
那么用
print(s)
1
打印字符串时就会看到乱码文字了。 另外如果你python刚学不久建议可以先去小编的Python交流.裙 一久武其而而流一思数字的谐音转换下可以找到了里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流进步更快哦
综上为了让python解释器在解释py文件时能正确理解这个py文件里的非ASCII字符就需要