生产环境中 有的时候 不想让自己写的代码泄露 可以讲py文件编译成pyc文件 两种文件使用Python执行的时候 结果一样 pyc的存在 客观上起到了保护代码 防止泄露的作用 下边说一下如何进行两种文件的转换
pyc —> py
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
如果本机有pip 上边的这两步可以省略
pip install uncompyle6
将m.pyc转换为m.py
uncompyle6 -o m.py m.pyc
使用场景:
遇到如下报错 说明pyc文件损坏 可以使用上述方法还原出py文件
RuntimeError: Bad magic number in .pyc file
py —> pyc
安装compileall
pip install compileall2
$ cat com.py
#!/usr/bin/env python
# encoding=utf-8
import compileall
def compile_run():
compileall.compile_dir(r'./')
if __name__ == '__main__':
compile_run()
[root@tsbdata1 tmp]# cat hello.py
#!/usr/bin/env python
# encoding: utf-8
print ("hello world")
[root@tsbdata1 tmp]# ls
com.py hello.py
[root@tsbdata1 tmp]# python com.py
Listing ./ ...
Compiling ./com.py ...
Compiling ./hello.py ...
[root@tsbdata1 tmp]# ls
com.py com.pyc hello.py hello.pyc