如何基于python实现脚本加密

yipeiwu_com7年前Python基础

这篇文章主要介绍了如何基于python实现脚本加密,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

from pathlib import Path
import python_minifier
import compileall
import sys

def get_save_path(from_dir, to_dir, p):
  ori_dir = str(from_dir.resolve())
  _p = str(p.resolve())
  return to_dir.joinpath(_p.split(ori_dir)[-1][1:])
def mix_pyminifier(from_dir, to_dir):
  for _p in from_dir.rglob('*.py'):
    with _p.open(encoding='utf-8') as read_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') as write_fp:
      write_fp.write(res)


def py2pyc(from_dir, to_dir):
  compileall.compile_dir(str(from_dir.resolve()), maxlevels=20, force=True)
def pyc2py(from_dir, to_dir):
  pass
if __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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python dataframe向下向上填充,fillna和ffill的方法

首先新建一个dataframe: In[8]: df = pd.DataFrame({'name':list('ABCDA'),'house':[1,1,2,3,3],'date':...

python实时监控cpu小工具

python实时监控cpu小工具

本文实例为大家分享了python实时监控cpu的工具,供大家参考,具体内容如下 虽然写的很不完善,但是当练手吧,对于实时监控cpu还是有点用处的,虽然android studio已经提供...

python中pip的使用和修改下载源的方法

基本命令 显示版本信息 pip -V 安装指定包 pip install <packages> pip install -i 'host' <package...

Python将主机名转换为IP地址的方法

关于主机名转IP地址只记住两点即可: 1、英特网协议一直都是用4字节的IP将包转发给目的地; 2、至于主机名是如何转换成IP地址的,这是操作系统关心的事情; import socke...

ipython和python区别详解

ipython和python区别详解

ipython介绍 IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell命令,内...