newliver

newliver的博客

他的个人主页  他的博客

Linux下编译Python项目Pyc小脚本

newliver  2010年08月18日 星期三 17:21 | 3733次浏览 | 1条评论

linux编译pyc文件脚本,将此文件放置项目根目录,运行。在项目上级路径生成项目名称加Pyc的文件夹,去除不必要的svn文件

#! /usr/bin/env python2.5

# -*- coding: UTF-8 -*-

# Date : 2010-8-18
# Author : liuzemin

"""
linux编译pyc文件脚本,将此文件放置项目根目录,运行。在项目上级路径生成项目名称加Pyc的文件夹,去除不必要的svn文件
"""

import compileall
import os
import shutil

def makepyc():
    cwd = os.getcwd()
    sc_filename = os.path.split(cwd)[-1]
    len_filename = len(sc_filename)
    pyc_filename = sc_filename +"Pyc"
    pyc_path = os.path.split(cwd)[0]+'/' + pyc_filename

    if os.path.exists(pyc_path):
        os.system('rm -rf %s'%pyc_path)
    shutil.copytree(cwd,pyc_path)
    res = compileall.compile_dir(pyc_path)
    if res == 1:
        print ">>>>>>>>Compile is Ok<<<<<<<<<"
    else:
        print ">>>>>>>>Compile Error <<<<<<<<<"
    
    os.chdir(pyc_path)
    os.system('rm -rf *.py .svn')
    for i in os.listdir(pyc_path):
        res = os.path.join(pyc_path,i)
        if os.path.isdir(res):
            os.chdir(res)
            os.system('rm -rf *.py .svn')
            print ">>>>>>>>Delete py and svn file Is Ok. <<<<<<<<<"

if __name__ == '__main__':
    makepyc()
    print ">>> MakePyc Is Ok ..."

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
黄其泽

回复 黄其泽  2011年06月19日 星期日 11:23

你这个是不是太麻烦了点?在项目里放个__init__.py,然后运行"python -m compileall ."搞定

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号