Python各种扩展名区别点整理
作者:Lyf凤 发布时间:2023-10-14 21:23:01
扩展名
在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名。下面是几种扩展名的用法。
py
py就是最基本的源码扩展名
pyw
pyw是另一种源码扩展名,跟py唯一的区别是在windows下双击pyw扩展名的源码会调用pythonw.exe执行源码,这种执行方式不会有命令行窗口。主要用于GUI程序发布时不需要看到控制台信息的情况。
pyc
在执行python代码时经常会看到同目录下自动生成同名的pyc文件。这是python源码编译后的字节码,一般会在代码执行时自动生成你代码中引用的py文件的pyc文件。这个文件可以直接执行,用文本编辑器打开也看不到源码。
pyo
pyo是跟pyc类似的优化编码后的文件。
pyd
pyd并非从python程序生成,而是其他语言写成的可以被python调用的扩展,例如C++写的动态连接库共python调用
程序发布的选择
以windows平台为例
打包为正常可执行程序
如果要公开发布程序,最常见的方式就是打包成exe程序了。打包的好处是使用者不需要考虑Python的运行环境,且也容易被接
受。但不好的是一般打包出来的程序都比较大,而且由于是依靠模块打包,有可能出现兼容性等问题。
常用的打包模块是pyinstaller。常用的打包命令是:
pyinstaller -F example.py
-F参数可将代码打包成单个exe程序。
另外如果是GUI程序不需要控制台窗口的还可以加上-w参数:
pyinstaller -w -F example.py
发布编译后的pyc/pyo
如果使用者有python环境,又不想让他们看到源码,就可以选择发布pyc/pyo文件。
直接执行的py文件不会自动生成pyc,需要手动编译一下。单文件编译:
import py_compile
py_compile.compile(r'c:\test.py')
文件夹编译:
import compileall
compileall.compile_dir(dirpath)
编译成pyo:
python -O -m py_compile file.py
如果是GUI程序不需要控制台窗口,可以新建一个pyw文件用于调用主pyc程序。pyw中只需要导入pyc程序即可。
发布源码py
发布源码一般是开源项目使用的,没什么需要说明的。直接发py文件就可以了,只要对方有环境就可以运行
来源:https://www.cnblogs.com/lyfstorm/p/11000232.html


猜你喜欢
- 问题你需要在大数据集(比如数组或网格)上面执行计算。解决方案涉及到数组的重量级运算操作,可以使用NumPy库。NumPy的一个主要特征是它会
- 这样还能减少CPU缓存命中失效的问题(点击这个链接来查看CPU的缓存是如何工作的以及MESI协议)。下面让我们来揭穿三个有关NULL位图的普
- 本文实例讲述了SQLSERVER简单创建DBLINK操作远程服务器数据库的方法。分享给大家供大家参考,具体如下:--配置SQLSERVER数
- 我就废话不多说了,大家还是直接看代码吧!# -*- coding:utf-8 -*- # File: ceshitianqiimport u
- python读取txt文件#方式一:file = r'D:\test.txt'with open(file, 'rb
- 方法 bindParam() 和 bindValue() 非常相似。 唯一的区别就是前者使用一个PHP变量绑定参数,而后者使用一个值。 所以
- 首先官网上的树形控件教程地址为Element - The world's most popular Vue UI framework
- Python递归函数实例1、打开Python开发工具IDLE,新建‘递归.py'文件,并写代码如下:def digui(n):if
- 目录一.序二.errGroup2.1 函数签名三.源码3.1 Group3.2 WaitContext3.3 Go3.4 Wait四. 案例
- 定义流的作用是使用统一的方式处理文件、网络和数据压缩等共用同一套函数和用法的操作。简单而言,流是具有流式行为的资源对象。因此,流可以线性读写
- 目的:python能使用xlrd模块实现对Excel数据的读取,且按照想要的输出形式。总体思路:(1)要想实现对Excel数据的读取,需要用
- python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,th
- 最近在做文章页盖楼显示的项目,数据来源是跟贴系统生成的UTF8格式的JSON数据。文章页的HTML编码格式是GB2312,在javascri
- 如下所示:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional
- 我们需要将【小组销量排名表.xlsx】通过邮件发送给【组长邮箱.xlsx】中的各个组长。这里会学一个新的知识点—&
- 一、window环境A. 导出.sql1. 导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysql
- pytorch默认使用单精度float32训练模型,原因在于:使用float16训练模型,模型效果会有损失,而使用double(float6
- 似乎有一段时间没有更新博客了,这里就写点小功能,轻松获得电脑任意路径下的文件及文件夹,并将其写入word,以下是主要代码:**import
- 本文实例讲述了Python闭包和装饰器用法。分享给大家供大家参考,具体如下:Python的装饰器的英文名叫Decorator,作用是完成对一
- 1.表达式操作符Table 1 算术操作符操作符 语法 含义+ a + b 相加 - a - b 相减 - - a