教你如何基于python实现脚本加密
frompathlibimportPathimportpython_minifierimportcompileallimportsysdefget_save_path(from_dir,to_dir,p):ori_dir=str(from_dir.resolve())_p=str(p.resolve())returnto_dir.joinpath(_p.split(ori_dir)[-1][1:])defmix_pyminifier(from_dir,to_dir):for_pinfrom_dir.rglob('*.py'):with_p.open(encoding='utf-8')asread_fp:res=python_minifier.minify(read_fp.read())_to_p=get_save_path(from_dir,to_dir,_p)Path(_to_p.parent).mkdir(exist_ok=True,parents=True)with_to_p.open('w',encoding='utf-8')aswrite_fp:write_fp.write(res)defpy2pyc(from_dir,to_dir):compileall.compile_dir(str(from_dir.resolve()),maxlevels=20,force=True)defpyc2py(from_dir,to_dir):passif__name__=='__main__':origin_dir=Path(sys.argv[1])target_dir=Path(sys.argv[2])pymini_dir=target_dir.joinpath('pymini')pyc_dir=target_dir.joinpath('pyc_dir')py_dir=target_dir.joinpath('py_dir')mix_pyminifier(origin_dir,target_dir)#py2pyc(origin_dir,pyc_dir)#pyc2py(pyc_dir,pyc_dir)
以上就是本文的全部内容,希望对大家的学习有所帮助。
原文地址:https://www.linuxprobe.com/linux-python-compileall.html
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。