文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python3下不要版本号批量编译.py

2023-01-31 08:10

关注

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
		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 ***


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯