Python程序的文件头部声明小结

2025-05-29 15:50

本文主要是介绍Python程序的文件头部声明小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下...

一般Python程序的文件开头会有这两行代码。

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

这里解释一下这两行代码的意义。

一、# coding=utf-8

  • 写法
# -*- coding: UTF-8 -*-
或者
# coding=utf-8

注意:#android coding=utf-8 的 = 号两边不要空格。

  • 作用:将编码格式改为utf-8格式
  • 编码与编码格式:编码简单而言就是一php种翻译的过程,将机器能够理解的语言转换为我们人类可以理解的语言,编码格式就是翻译的方式,根据对存储空间与编码效率的要求来选择不同的编码格式,常见的编码格式有:ASCII、ISO-8859-1、GB2312、GBK、UTF-8、UTF-16 等。
  • Python版本:Python2中默认的编码格式为ASCII码格式,Python3中默认的编码格式为UTF-8格式。
  • 使用原因:再次绕回来,为什么要加上这句话呢。因为在ASCII码格式下不能出现中文字符(代码或注释都不可以),否则就会报错,只有在utf-8格式下才能正常编译运行。所以在Python2版本下,只要出现中文,一定要加上这句头部声明。
  • 查看当前python环境下的默认编码格式:进入python后,在控制台下输入以下命令即可。
>>import sys
>>sys.getdefaultencoding()

//pyBYqpCjVGDthon2 为>>'ascii',python3 为>>'utf-8'

Python程序的文件头部声明小结

  • 代码的可移植性:Python3的默认格式就是utf-8,这句话对它就没有意义了,但是考虑到代码的可移植性,还是建议编写时养成习惯,加上这句话。

二、#!/usr/bin/env python

  • 写法
#!/usr/bin/env python
或者
#!/usr/bin/python
  • 作用:用来指定本脚本用什么解释器来执行
    • 代码可以被分为两个部分
      • #!:叫做shebawww.chinasem.cnng或者sha-bang,有的翻译组将它译为‘释伴’,即“解释伴随行”的简称。后面可以加上一个或数个空白字符。
      • /usr/bin/env python:解释器的绝对路径,用于指明执行这个脚本文件的解释器。
    • 注意:这行代码只对 linux/Unix 用户适用,其他环境下等同于注释。但是为了代码的可移植性,建议在编写程序的时候加上。
  • #!/usr/bin/python和#!/usr/bin/env python的区别
    • #!/usr/bin/python:是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器。
    • #!/usr/bin/env python :这种用法是为了防止操作系统用户没有将 python 装在android默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。

#!/usr/bin/python 相当于写死了 python 路径。
#!/usr/bin/env python 会去环境设置寻找 python 目录,可以增强代码的可移植性。

  • 推荐写法#!/usr/bin/env python

三、运行Python程序

方法和编译运行shell脚本类似

  • 方法一:给予”执行(x)“的权限后,直接运行
chmod u+x xxx.py
./xxx.py
  • 方法二:直接告诉操作系统用python解释器来编译运行该程序(所以这种情况不加#!/usr/bin/env python也可以运行)
python xxx.py

四、结论

为了让Python程序在各种系统中,在包含有中文的情况下,可以顺利运行,加上下面的文件头部声明。

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

到此这篇关于Python程序的文件头部声明小结的文章就介绍到这了,更多相关Python 文件头部声明内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于Python程序的文件头部声明小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1154842

相关文章

Redis中Stream详解及应用小结

《Redis中Stream详解及应用小结》RedisStreams是Redis5.0引入的新功能,提供了一种类似于传统消息队列的机制,但具有更高的灵活性和可扩展性,本文给大家介绍Redis中Strea... 目录1. Redis Stream 概述2. Redis Stream 的基本操作2.1. XADD

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过