Python3下不要版本号批量编译.py
短信预约 -IT技能 免费直播动态提醒
code say:
#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
class="lazy" data-srcFile = os.path.join(cur_dir_fullpath, filename)
if class="lazy" data-srcFile == os.path.abspath(__file__): #自身
continue
dstFile = os.path.join(dstDir, filename + 'c')
print(class="lazy" data-srcFile + ' --> ' + dstFile)
py_compile.compile(class="lazy" data-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 ***
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341