编译和反编译python程序

当我们运行一个单独的py文件,则python是不会编译该文件为pyc的,而是直接解释运行它

但如果我们的一个py文件作为一个module被其它的py文件import,那么python默认会编译它为pyc文件

pyc文件是python的字节码文件,其实还有一种pyo文件,是优化后的字节码文件

 

如果想编译成pyc文件,可以使用py_comile或compileall模块

 

折叠复制代码
    1. #编译单个文件
  • import py_compile
  • py_compile.compile('/opt/ysz/python/test.py')
  • #编译整个目录
  • import compileall
  • compileall.compile_dir('/opt/ysz/python')

 

 

或者也可以用如下方式编译

 

折叠复制代码
    1. #编译pyc
  • python -m py_compile test.py
  • #编译pyo
  • python -O -m py_compile test.py

 

 

 有一个网站,可以实现在线反编译pyc,据说能支持到python2.6

http://www.crazy-compilers.com/decompyle/

posted on 2012-05-24 13:47  很多不懂呀。。  阅读(702)  评论(0编辑  收藏  举报

导航