如何基于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设计】。

相关文章

pytorch载入预训练模型后,实现训练指定层

1、有了已经训练好的模型参数,对这个模型的某些层做了改变,如何利用这些训练好的模型参数继续训练: pretrained_params = torch.load('Pretrained...

python中yield的用法详解——最简单,最清晰的解释

首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单...

Python3 max()函数基础用法

描述 max() 方法返回给定参数的最大值,参数可以为序列。 语法 以下是 max() 方法的语法: max( x, y, z, .... ) 参数 x -- 数值表...

python的绘图工具matplotlib使用实例

python的绘图工具matplotlib使用实例

matplotlib是功能十分强大的绘制二维图形的Python模块,它用Python语言实现了MATLAB画图函数的易用性,同时又有非常强大的可定制性。它提供了一整套和matlab相似的...

python执行子进程实现进程间通信的方法

本文实例讲述了python执行子进程实现进程间通信的方法。分享给大家供大家参考。具体实现方法如下: a.py: import subprocess, time subproc = s...