我们通常编写的python源文件(.py文件)可以由记事本等软件直接打开,如果想要发布程序,那么只能直接发布源文件,但是发布源码的话,就极易被别人轻松使用。

有没有加密的方式呢?

当然有,而且很多种,但是最简单的一种方式是利用编译之后的.pyc文件,这种方式简单易操作,可以对重要级相对较低的代码进行加密,达到别人不能直接获取源代码的作用。

原理:

.pyc文件 : 二进制文件,无法看出源码内容。

python执行代码原理:代码 —> .pyc文件 —> 解释执行.pyc文件中内容。

因此,python解释器也可以直接执行.pyc文件

步骤如下:

编译使用python标准库自带的 compileall即可。

# 遍历<path>目录下所有的.py文件,编译成.pyc文件
python -m compileall <path>
# .pyc文件也可直接执行,下面两者效果相同
python scriptStudy.py
python scriptStudy.pyc

这样别人就不能直接查看你编写的python源码了,是不是很简单呢!

Python 文件加密相关推荐

  1. python 文件加密_python实现文件快照加密保护的方法

    本文实例讲述了python实现文件快照加密保护的方法.分享给大家供大家参考.具体如下: 这段代码可以对指定的目录进行扫描,包含子目录,对指定扩展名的文件进行SHA-1加密后存储在cvs文件,以防止文件 ...

  2. Python代码加密,将python文件编译成so文件

    Python程序(.py文件)是公开的,容易被别人拿去使用,为了更好保护知识产权,可以对python文件加密为.so文件. 首先,我们需要在Ubuntu系统中安装一些准备工具,包括python3-de ...

  3. Python 办公自动化,一键给PDF文件加密,超方便

    作者 | 欣一 来源 | Python爱好者集中营 今天给大家做一个给PDF文件加密的GUI界面(图形用户界面),方便现在的一些上班族白领们使用,尤其是需要给一些比较重要的PDF文件加密的时候,下面我 ...

  4. 【Python】Python办公自动化 | 一键给PDF文件加密,超方便

    今天给大家做一个给PDF文件加密的GUI界面(图形用户界面),方便现在的一些上班族白领们使用,尤其是需要给一些比较重要的PDF文件加密的时候,下面我们来看具体的步骤 给PDF文件加密 首先我们需要清楚 ...

  5. python基础教程zip密码_python基础教程Python实现加密的RAR文件解压的方法(密码已知)...

    博主之前在网上找了很多资料,发现rarfile库不能直接调用,需要安装unrar模块,下面将详细介绍整个实现流程. 第一步:安装unrar模块,直接pip install unrar可能会找不到库,需 ...

  6. 基于python的文件加密传输_Python优雅的加密传输文件

    最近需要通过网络加密传输一些文件,首先想到的是RSA,公钥 + 私钥的搭配,不能再好. 2. 导入模块,创建密钥对. 3. 然后用公钥加密,用私钥解密. 运行结果如下 4. 如果只是简单的,小字符串的 ...

  7. 使用python下载加密的流媒体m3u8视频文件,获取电影资源

    使用python下载加密的流媒体m3u8视频文件,获取电影资源 m3u8简介 代码示例 获取文件名与m3u8地址 媒体序列解密 视频序列片段下载 完整代码 后记 m3u8简介 M3U8是Unicode ...

  8. Python 创建加密压缩文件

    Python 创建加密压缩文件 1. 配置ZLib http://www.winimage.com/zLibDll/minizip.html 下载之后将 zlibwapi.dll 放在 demo/目录 ...

  9. Python破解加密的zip文件

    Python破解加密的zip文件 测试环境 环境 版本 系统 uos Python版本 Python3 创建一个.zip格式的压缩文件并且设置压缩密码,这里设置密码为:123654 运行Python代 ...

最新文章

  1. 测试MVC3时关于Model Builder语句的更改
  2. JZOJ 5440. 【NOIP2017提高A组冲刺11.1】背包
  3. Python 读写文件和file对象(转)
  4. Rose与PowerDesigner:两款建模工具对比分析比较
  5. Ubuntu apt-get 卸载命令
  6. OpenJudge NOI 1.5 15:银行利息
  7. flutter DateTime 日期时间详细解析 Dart语言基础
  8. 我的第一个Python随笔
  9. 给model模型传数组参数
  10. C语言课设家庭财务小管家(大作业)
  11. 易接SDK流程记录以及AndroidManifest解析(无干货)
  12. 开启和关闭Windows远程管理(WinRM)
  13. QQ能上网页打不开解决办法
  14. 易知微当选中国互联网协会数字孪生技术应用工作委员会成员单位
  15. 微信小程序连接第三方接口
  16. python基础教程十进制_Python基础教程(五):数字、字符串
  17. Java之日志打印占位符
  18. 高性能本地缓存Ristretto(一)——存储策略
  19. 51nodoj 1113 矩阵快速幂
  20. < 每日算法 - Javascript解析:经典弹珠游戏 >

热门文章

  1. html5出生年月日,出生年月日五行查询表
  2. 以Mapgis与Arcinfo之间的数据转换
  3. 蚪侠-远程泛目录V21(镜像版)-免授权
  4. 小规模纳税人可以申请美元账户收款么?
  5. 分享一段工具型代码:印章抠图
  6. 批量将 PDF 转为 ePub 格式文档
  7. 【Git】git pull和git pull --rebase的使用
  8. 伏地魔爱上林黛玉?就没有B站不能组的CP!
  9. 【二十】 H.266/VVC | 仿射运动估计AMVP继承相邻块的运动信息函数 | addAffineMVPCandUnscaled函数
  10. 空间管理员(一)AFS文件目录系统索引节点vfs_inode结构