如何基于python实现脚本加密

yipeiwu_com6年前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中的yield函数的用法

您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? 我们先抛开 generator,以一个常见的编程题目来展示...

Python面向对象思想与应用入门教程【类与对象】

本文实例讲述了Python面向对象思想与应用。分享给大家供大家参考,具体如下: 面向对象思想 1、面向对象的设计思想 面向对象是基于万物皆对象这个哲学观点。 2、面向对象和面向过程...

python创建列表和向列表添加元素的实现方法

今天的学习内容是python中的列表的相关内容。 一.创建列表 1.创建一个普通列表 >>> tabulation1 = ['大圣','天蓬','卷帘'] >...

python的几种矩阵相乘的公式详解

1. 同线性代数中矩阵乘法的定义: np.dot() np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义。对于一维矩阵,计算两者的内积。见如下...

python调用短信猫控件实现发短信功能实例

python调用短信猫控件实现发短信功能实例代码如下所示: #! /usr/bin/env python #coding=gbk import sys import win32com...