Python篇之编译py文件为pyc文件的方法总结

一、前言
一般来说,当我们在发布系统的时候,希望上线的代码是安全可靠的,不希望别人能看到源代码,通常都会先提前编译好,然后进行发布,在python中,编译好的代码格式为 .pyc 文件

常见的python代码形式有如下几种:
.py  --python的源代码文件,程序内容可以用文本编辑器直接打开,代码可视

.pyc  – .py文件经过编译后产生的字节码文件,是二进制文件

.pyo  – .py文件经过优化后的执行文件

.pyd  – python的动态链接库文件

二、编译python代码为pyc文件的所应用的模块
1、python内置的py_compile模块可以把py文件编译为pyc文件或pyo文件;
方式一:py脚本形式:

# -*- coding: utf-8 -*-
#python 27
#python之模块py_compile用法(将py文件转换为pyc文件);二进制文件,是由py文件经过编译后,生成的文件.
 
#办法一:
import py_compile
#加r前缀进行转义
py_compile.compile(r'D:\test.py')#py文件完整的路径.
 

方式二:命令行形式:

python -m py_compile xxx.py
# 注: 其中-m参数 就相当于py脚本中的import
# 这里的 -m py_compile 相当于上面的 import py_compile

2、内置的compileall模块可以把整个目录中的py文件编译为pyc或pyo文件;
方式一:py脚本形式:
2.1、 仅编译目录:


import compileall

compileall.compile_dir('s1')

2.2、过滤文件,过滤掉不需要当前目录下不需要编译的文件,可利用正则表达式实现

import compileall
import re

compileall.compile_dir('s1',rx=re.compile(r'/\.txt'))

2.3、如果需要递归遍历目录,则需要添加参数。maxlevels
当maxlevels = 0,不需要递归。
当maxlevels = 1,需要递归。

import compileall
import re

compileall.compile_dir('s1', maxlevels=0, rx=re.compile(r'/\.txt'))

2.4、仅选择需要编译的路径

import compileall
import sys

sys.path[:] = ['s1', 's2']
print 'sys.path =', sys.path
compileall.compile_path()

方式二:命令行模式

python -m compileall /dir/  # 生成目录下所有py文件对应的pyc文件
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值