在 Python 脚本的第一行经常见到这样的注释:
#!/usr/bin/env python3
或者
#!/usr/bin/python3

含义

在脚本中, 第一行以 #! 开头的代码, 在计算机行业中叫做 "shebang", 也叫做 sha-bang / hashbang / pound-bang / hash-pling, 其作用是"指定由哪个解释器来执行脚本".

注意

  • #!之后的空格是可选的, #!/usr/bin/env python3 和 #! /usr/bin/env python3 这两种写法都是允许的
  • 大部分 Python 文件不必写 Shebang, 只有被直接执行的文件才有必要加入 Shebang

额外

Python 脚本开头经常见到这样的代码:

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

之所以写 #coding=utf-8 是为了指定字符编码.

为什么要指定字符编码?

因为 Python 2 默认使用的是 ASCII 编码 (不支持中文), Python 3 默认支持 UTF-8 编码 ( 支持中文).所以 Python 2 中为了支持中文, 都会在开头加入 #coding=utf-8 这个声明. 而 Python 3 默认支持 UTF-8 编码, 所以 Python 3 并不需要 #coding=utf-8 声明

注意:
常见的写法有: #coding=utf-8#! -*- coding:utf-8 -*-, 都是合法有效的
但是, coding=之间, 或者coding:之间, 不能有空格!

Python文件中执行脚本注释和编码声明的更多相关文章

  1. 统计python文件中的代码,注释,空白对应的行数

    其实代码和空白行很好统计,难点是注释行 python中的注释分为以#开头的单行注释 或者以'''开头以'''结尾 或以"""开头以"""结尾 ...

  2. 如何调用另一个python文件中的代码

    模块的搜索路径 模块的搜索路径都放在了sys.path列表中,如果缺省的sys.path中没有含有自己的模块或包的路径,可以动态的加入(sys.path.apend)即可.下面是sys.path在Wi ...

  3. 现在都是python 单独开发框架 执行脚本,处理结果,发报告之类的

    现在都是python 单独开发框架 执行脚本,处理结果,发报告之类的

  4. Python核心笔记:在python文件中如何调用其它python脚本文件,你肯定不会

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:zhujuyu 笔者在自学python的时候遇到了这样一个练习题:将 ...

  5. python学习:python文件中空格和换行符的捕获和文本文件的转存

    0. 背景 之前公司的项目中,需要在嵌入式系统中实现一个http的网页端内容,由于项目历史遗留问题,公司是采用的将html文件转成c语言头文件的方式,每次修改页面端都需要从新编译一下程序,非常的繁琐. ...

  6. python文件的执行

    python文件的后缀名没有限制,但是为了后来导入模版的规范性,python代码通常以".py"作为后缀: python文件运行 一般情况都是解释器+文件名,如:python ** ...

  7. .env[mode]文件中如何添加注释

    前言 Vue-Cli 允许我们在项目根目录创建.env.[mode]文件来设置一些打包编译的启动参数,通过执行脚本的时候加mode参数,指定不同环境需要加载的配置文件 形如: .env.prod NO ...

  8. Linux下Python 文件内容替换脚本

    Linux下Python 文件替换脚本 import sys,os if len(sys.argv)<=4: old_text,new_text = sys.argv[1],sys.argv[2 ...

  9. 解决mysql5.6+在zabbix监控中执行脚本出现密码的错误问题

    1.mysql命令行中授权mysql监控所需的账号和密码(权限select权限即可) 2.通过mysql_config_editor 配置登录问题: [root@back_zabbix_100 scr ...

随机推荐

  1. 获取set()和push()方法向值栈放的数据

    ------------------siwuxie095 获取 set() 方法向值栈放的数据 1.具体步骤 (1)在 Action 中使用 set() 方法向值栈放数据 (2)在 JSP 页面中从值 ...

  2. C语言时间处理

    一.简介 时间处理在编程中经常遇到,包括程序的运行时间和显示时间等.在标准C中, 日期和时间的处理包含在 time.h 的头文件中,需要使用日期和时间相关的类型的函数的话, 需要导入time.h. 二 ...

  3. mysql中timestamp简单用法

    该时间字段有比较特殊的地方,显示内容datetime字段一样.当取值为null或者不赋值时,显示当前系统时间,然后在其他地区读取的时候会根据当地的时间转换成当地的系统时间.

  4. [mongoDB] mongoDb

    mongodb memcached redis        kv数据库(key/value) mongodb 文档数据库,存储的是文档(Bson->json的二进制化). 特点:内部执行引擎为 ...

  5. C++11中std::unordered_map的使用

    unordered map is an associative container that contains key-value pairs with unique keys. Search, in ...

  6. c# 调用外包程序 等待处理完成结果

    string root = @"J:\yaoqianshu"; string pythonPath = "解压缩拷贝启动动画测试(新).py"; string ...

  7. 我大中华微软MVP中国区人才库(转)

    出处:http://www.genshuixue.com/i-cxy/p/15349735 刘海峰:国内知名微软开源技术网站51Aspx 创始人,十年以上的asp.net从业经验,微软MSDN特约讲师 ...

  8. pv和pvc状态

    原文地址:https://kubernetes.cn/topics/46 API Server 和 PVController API Server: 这个组件提供对API的支持,响应REST操作,验证 ...

  9. Class 'App\Http\Controllers\DB' not found and I also cannot use a new Model

    使用laravel的db插入数据 DB::table('tags')->insert( ['name'=>'test'] ); 报错Class 'App\Http\Controllers\ ...

  10. ScreenCapture-HDwik5.0整合教程

    示例下载:http://yunpan.cn/Q9qzFmf6sF57z 1.上传ScreenCapture文件夹 2.上传upload.php文件 2.1修改upload.php路径 3.修改Scre ...