如何基于python实现脚本加密


Posted in Python onDecember 28, 2019

这篇文章主要介绍了如何基于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 相关文章推荐
linux系统使用python监测网络接口获取网络的输入输出
Jan 15 Python
python基于queue和threading实现多线程下载实例
Oct 08 Python
Python 抓取动态网页内容方案详解
Dec 25 Python
Python映射拆分操作符用法实例
May 19 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
Python使用wxPython实现计算器
Jan 30 Python
详解Python安装scrapy的正确姿势
Jun 26 Python
10分钟教你用Python实现微信自动回复功能
Nov 28 Python
Python小游戏之300行代码实现俄罗斯方块
Jan 04 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
python用什么编辑器进行项目开发
Jun 17 Python
Django前后端分离csrf token获取方式
Dec 25 Python
python使用配置文件过程详解
Dec 28 #Python
python正则表达式匹配IP代码实例
Dec 28 #Python
python爬虫模拟浏览器访问-User-Agent过程解析
Dec 28 #Python
python爬虫添加请求头代码实例
Dec 28 #Python
python使用rsa非对称加密过程解析
Dec 28 #Python
Python遍历字典方式就实例详解
Dec 28 #Python
python基于opencv检测程序运行效率
Dec 28 #Python
You might like
PHP 5.0对象模型深度探索之对象复制
2008/03/27 PHP
php curl 伪造IP来源的实例代码
2012/11/01 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
Smarty局部缓存的几种方法简介
2014/06/17 PHP
php递归创建目录的方法
2015/02/02 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
JS 强制设为首页的代码
2009/01/31 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
javascript中函数的写法实例代码详解
2018/10/28 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
python里 super类的工作原理详解
2019/06/19 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
Python 在局部变量域中执行代码
2020/08/07 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
简历上的自我评价
2014/02/03 职场文书
科学发展观活动总结
2014/08/28 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
《雷雨》教学反思
2016/02/20 职场文书
深入理解Vue的数据响应式
2021/05/15 Vue.js
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers