python程序的扩展名是perl程序的扩展名是_Python 程序扩展名(py, pyc, pyw, pyo, pyd)及发布程序时的选择...
扩展名
在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名。下面是几种扩展名的用法。
py
py就是最基本的源码扩展名。windows下直接双击运行会调用python.exe执行。
pyw
pyw是另一种源码扩展名,跟py唯一的区别是在windows下双击pyw扩展名的源码会调用pythonw.exe执行源码,这种执行方式不会有命令行窗口。主要用于GUI程序发布时不需要看到控制台信息的情况。
pyc
在执行python代码时经常会看到同目录下自动生成同名的pyc文件。这是python源码编译后的字节码,一般会在代码执行时自动生成你代码中引用的py文件的pyc文件。这个文件可以直接执行,用文本编辑器打开也看不到源码。
pyo
pyo是跟pyc类似的优化编码后的文件。
pyd
pyd并非从python程序生成,而是其他语言写成的可以被python调用的扩展。
程序发布的选择
由于笔者基本只在windows平台下考虑发布问题,其他平台均使用源码,故此处讨论基本围绕windows平台。
打包为正常exe程序
如果要公开发布程序,最常见的方式就是打包成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')1
2
文件夹编译:
import compileall
compileall.compile_dir(dirpath)1
2
编译成pyo:
python -O -m py_compile file.py
如果是GUI程序不需要控制台窗口,可以新建一个pyw文件用于调用主pyc程序。pyw中只需要导入pyc程序即可。
发布源码py
发布源码一般是开源项目使用的,没什么需要说明的。直接发py文件就可以了,只要对方有环境就可以运行。
参考资料:
python程序的扩展名是perl程序的扩展名是_Python 程序扩展名(py, pyc, pyw, pyo, pyd)及发布程序时的选择...相关推荐
- Python 程序扩展名(py, pyc, pyw, pyo, pyd) 及发布程序时的选择
参考文章:Python 程序扩展名(py, pyc, pyw, pyo, pyd)及发布程序时的选择
- Python 程序扩展名(py, pyc, pyw, pyo, pyd)及发布程序时的选择
扩展名 在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名.下面是几种扩展名的用法. py py就是最基本的源码扩展名.windows下直接双击运行会调用python.ex ...
- Python 常见文件格式 .py .pyc .pyw .pyo .pyd 之间的主要区别
Python 常见文件格式 .py .pyc .pyw .pyo .pyd 之间的主要区别 Python 是一种面向对象.解释型计算机程序设计语言.Python 语法简洁.清晰,具有丰富和强大的类库. ...
- Python各种扩展名(py, pyc, pyw, pyo, pyd)区别
扩展名 在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名.下面是几种扩展名的用法. py py就是最基本的源码扩展名 pyw pyw是另一种源码扩展名,跟py唯一的区别是 ...
- Python 各种扩展名(py, pyc, pyw, pyo, pyd)区别
扩展名 在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名.下面是几种扩展名的用法. py py就是最基本的源码扩展名 pyw pyw是另一种源码扩展名,跟py唯一的区别是 ...
- Python文件格式 .py .pyc .pyw .pyo .pyd的主要区别
Python是一种面向对象.解释型计算机程序设计语言.Python 语法简洁.清晰,具有丰富和强大的类库. Python源代码遵循 GPL (GNU General Public License) 协 ...
- python 文件 .py .pyc .pyw .pyo .pyd
DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源.打不开,不过可以使用反汇编;PYD是一种PYTHON动态模块.实质上还是dll文件,只是改了后缀为PYD ...
- 【python】Python 常见文件格式 .py .pyc .pyw .pyo .pyd简介
文章目录 概览 .py 文件 .pyw 文件 .pyo 文件 .pyd 文件 .pyd文件上手方法 概览 Python([ˈpaɪən])是一种面向对象.解释型计算机程序设计语言.Python语法简洁 ...
- Python 常见文件格式 .py .pyc .pyw .pyo .pyd
转载于此 Python([ˈpaɪθən])是一种面向对象.解释型计算机程序设计语言.Python 语法简洁.清晰,具有丰富和强大的类库. Python源代码遵循 GPL (GNU General P ...
最新文章
- tf.keras.layers.Flatten该网络中的第一层tf.keras.layers.Flatten将图像的格式从2d阵列(28乘28像素)转换为28 * 28 = 784像素的1d阵列。可以
- WorldWind学习系列一:顺利起航篇
- Microsoft CryptoAPI加密技术(二)
- 把URL参数解析成一个Json对象
- Qt学习(一):两个独立窗口的信号通信
- 有幸见到一朵花的绽放
- ASP.NET中利用ashx实现图片防盗链
- mongodb查询内嵌文档
- 数据库设计(五)第一范式(1NF)?
- 新代数控系统编程说明书_数控加工中心编程快速入门教程
- 两种消息模型: 点对点(queue)发布/订阅(topic)
- 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)
- 全国青少年编程等级考试scratch四级真题2021年9月(含题库答题软件账号)
- 迪文串口屏的安装方法之卡扣结构带外壳智能屏
- 芯片短缺并没有妨碍英特尔创下“有史以来业绩最好的一年”
- vue h5微信公众号授权获取用户信息
- 微型计算机怎么没声音,我的电脑怎么没声音了
- devsecops的理解与建设
- matlab面试问题,一道面试题的matlab模拟代码
- oracle认证就业前景,华为认证的发展就业前景怎么样?
热门文章
- 【PL/SQL】 使用游标
- 解决overlay2存储驱动的磁盘配额问题
- 微信小程序支付异常:requestPayment:fail no permission
- vue2强制刷新,解决页面不会重新渲染的问题
- 如何检测圣诞树? [关闭]
- linux安装之后缺少命令,CentOS7安装成功后缺少命令的解决办法
- Win10笔记本电脑如何开启热点
- win11的drivers文件可以删除吗 windows11drivers文件是否可以删除的详细介绍
- python requests post请求_Python“requests”模块中的POST请求无法正常工作
- wos 文献被引_全世界最权威的文献检索工具,这6个检索技巧必须要掌握!