| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> py文件如何变成pyc文件;使用pycharm生成一个项目文件的pyc文件,达到代码隐藏的效果;Python项目标准化发布流程(实现隐藏源代码和一键启动的功能) -> 正文阅读 |
|
[Python知识库]py文件如何变成pyc文件;使用pycharm生成一个项目文件的pyc文件,达到代码隐藏的效果;Python项目标准化发布流程(实现隐藏源代码和一键启动的功能) |
py文件如何变成pyc文件,使用pycharm生成一个项目文件的pyc文件,达到代码隐藏的效果;如何快速地将py文件变成pyc文件,实现代码隐藏的效果?1、什么是py文件, Python的源代码文件,就是py文件; 2、什么是pyc文件 参考链接: https://www.zhihu.com/question/30296617 1)完成模块的加载和链接; 2)将源代码翻译为PyCodeObject对象(这货就是字节码),并将其写入内存当中(方便CPU读取,起到加速程序运行的作用); 3)从上述内存空间中读取指令并执行; 4)程序结束后,根据命令行调用情况(即运行程序的方式)决定是否将PyCodeObject写回硬盘当中(也就是直接复制到.pyc或.pyo文件中); 5)之后若再次执行该脚本,则先检查本地是否有上述字节码文件。有则执行,否则重复上述步骤。 3、为什么要生成pyc文件 1)加密源代码: .pyc文件是由.py文件经过编译后生成的字节码文件,其加载速度相对于之前的.py文件有所提高,而且还可以实现源码隐藏,以及一定程度上的反编译。比如,Python3.3编译生成的.pyc文件,Python3.4就别想着去运行啦!→_→ 4、什么是.pyo文件? 和pyc文件类似; 以上无论是生成.pyc还是.pyo文件,都将在当前脚本的目录下生成一个含有字节码的文件夹 5、如何快速地将py文件变成pyc文件,实现代码隐藏的效果? 1)写一个python文件
2)在命令行中进行编译:
3)得到
4)交付的时候,只用交付pyc文件就可以,再写一个bash脚本,直接启动pyc就可以了
如何写bash脚本 请参考:
https://blog.csdn.net/Hodors/article/details/127214226 6、使用pycharm生成一个项目文件的pyc文件,达到代码隐藏的效果; 好像没有这个功能,自己在anaconda prompt中进行手动的编译吧 编译的单个py文件
编译整个文件夹(相当于程序自己遍历整个文件夹,然后把里边的py文件变成pyc文件)
Python项目标准化发布流程 1)对一个文件夹(项目)进行编译(项目里边有很多引用,包括自己写的模块):
2)把编译好的文件中的所有py文件都给删除了; 3)然后把 3)然后删除编译好的pyc文件名中的 4)项目就编译好,可以发布了,实现了源代码隐藏的功能 5)在编写一个bash脚本进行一键启动,完美:
6)需要注意的地方是:
7、什么是pyd文件? 别在意,那只是Python的动态链接库。如果要深究,还得扯上C++的知识。 参考链接: https://blog.csdn.net/weixin_36670529/article/details/106767455 Python是一门先编译后解释的语言。 我们先来说两个概念,PyCodeObject和pyc文件。我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了,继续向下看。 当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,先对.pyc文件和.py文件的最近一次的修改时间进行判断,如果.pyc文件的修改时间晚于.py文件,说明.py文件中的源代码未修改过,则直接载入,否则就重复上面的过程。所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。 中。当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,先对.pyc文件和.py文件的最近一次的修改时间进行判断,如果.pyc文件的修改时间晚于.py文件,说明.py文件中的源代码未修改过,则直接载入,否则就重复上面的过程。所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/26 3:49:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |