Pyhthon中使用compileall模块编译源文件为pyc文件

yipeiwu_com7年前Python基础

有的时候我们需要把项目中.py的python所有源文件编译成.pyc文件,只保留.pyc文件然后发布给别人(虽然说可以反编译,但也算是一种保护把).
这个时候就可以使用compileall 库来完成这个工作,它可以递归的把一个文件夹下的所有.py文件编译成.pyc文件。

例如我有一个django项目在test文件夹下就可以

复制代码 代码如下:

E:\>python -c "import compileall; import re; compileall.compile_dir('test', rx=re.compile(r'[/\\][.]svn'), force=True)" 

更多的使用和参数请参考
http://pymotw.com/2/compileall/
https://docs.python.org/2/library/compileall.html

然后就是要删除.py文件保留.pyc 文件了。
在linux下可以直接使用 find命令,在windows下可以使用dos命令,还可以写一个python脚本删除这些文件

相关文章

django中间键重定向实例方法

1,定义和注册中间件 在注册的中间件中使用: from django.http import HttpResponseRedirect '''下面的书写方法会陷入死循环,所以必须加判...

Python实现OpenCV的安装与使用示例

Python实现OpenCV的安装与使用示例

本文实例讲述了Python实现OpenCV的安装与使用。分享给大家供大家参考,具体如下: 由于下一步要开始研究下深度学习,而深度学习领域很多的算法和应用都是用Python来实现的,把Py...

python socket网络编程之粘包问题详解

python socket网络编程之粘包问题详解

一,粘包问题详情 1,只有TCP有粘包现象,UDP永远不会粘包 你的程序实际上无权直接操作网卡的,你操作网卡都是通过操作系统给用户程序暴露出来的接口,那每次你的程序要给远程发数据时,...

解决Python内层for循环如何break出外层的循环的问题

偶然发现了for…else…这种用法,使用这个实现了break跳出嵌套的for循环 In [31]: for i in range(1,5): ...: for j in r...

Selenium chrome配置代理Python版的方法

环境: windows 7 + Python 3.5.2 + Selenium 3.4.2 + Chrome Driver 2.29 + Chrome 58.0.3029.110 (64...