Python3下不要版本号批量编译.pyc文件

简介:

code say:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#encoding=utf-8
#author: walker
#date: 2016-06-28
#summary: 编译当前文件夹下所有.py文件
 
import  os, sys, shutil
import  py_compile
 
cur_dir_fullpath  =  os.path.dirname(os.path.abspath(__file__))
 
#清空目录
def  ClearDir( dir ):
     print ( 'ClearDir '  +  dir  +  '...' )
      
     for  entry  in  os.scandir( dir ):
         if  entry.name.startswith( '.' ):
             continue
         if   entry.is_file():   
             os.remove(entry.path)     #删除文件
         else :                  
             shutil.rmtree(entry.path)     #删除目录
             
#编译当前文件夹下所有.py文件
def  WalkerCompile():
     dstDir  =  os.path.join(cur_dir_fullpath,  'walker_compile' )
     if  os.path.exists(dstDir):  #如果存在,清空
         ClearDir(dstDir)
     else :                        #如果不存在,创建
         os.mkdir(dstDir)      
 
     for  filename  in  os.listdir(cur_dir_fullpath):
         if  not  filename.endswith( '.py' ):
             continue
         srcFile  =  os.path.join(cur_dir_fullpath, filename)
         if  srcFile  = =  os.path.abspath(__file__):  #自身
             continue
         dstFile  =  os.path.join(dstDir, filename  +  'c' )
         print (srcFile  +  ' --> '  +  dstFile)
         py_compile. compile (srcFile, cfile = dstFile)
 
if  __name__  = =  "__main__" :
     WalkerCompile()


相关阅读:

1、py_compile 

2、compileall — Byte-compile Python libraries

3、PEP 3147 -- PYC Repository Directories

4、关于Python的编译


*** walker ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1793685如需转载请自行联系原作者


RQSLT

相关文章
|
2月前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
1月前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
30 2
|
2月前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
2月前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
2月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
370 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
2月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
435 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
4月前
|
SQL JSON 关系型数据库
n种方式教你用python读写excel等数据文件
n种方式教你用python读写excel等数据文件
|
6月前
|
存储 Python 内存技术
python WAV音频文件处理—— (1)读写WAV文件
python WAV音频文件处理—— (1)读写WAV文件
157 14
|
7月前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
168 0
|
Python
python读写execle文件数据
python读写execle文件数据