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

相关文章

Python实现一键PDF转Word(附完整代码及详细步骤)

《Python实现一键PDF转Word(附完整代码及详细步骤)》pdf2docx是一个基于Python的第三方库,专门用于将PDF文件转换为可编辑的Word文档,下面我们就来看看如何通过pdf2doc... 目录引言:为什么需要PDF转Word一、pdf2docx介绍1. pdf2docx 是什么2. by

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

基于Python实现智能天气提醒助手

《基于Python实现智能天气提醒助手》这篇文章主要来和大家分享一个实用的Python天气提醒助手开发方案,这个工具可以方便地集成到青龙面板或其他调度框架中使用,有需要的小伙伴可以参考一下... 目录项目概述核心功能技术实现1. 天气API集成2. AI建议生成3. 消息推送环境配置使用方法完整代码项目特点

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

Python中合并列表(list)的六种方法小结

《Python中合并列表(list)的六种方法小结》本文主要介绍了Python中合并列表(list)的六种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、直接用 + 合并列表二、用 extend() js方法三、用 zip() 函数交叉合并四、用

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示