我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何加密PYTHON程序

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何加密PYTHON程序

今天系里的数学教授老史过来问我能不能帮他解决一个教学中遇到的问题。他有一个类似于Online Judge的Python程序,打算发给学生用于自测,但为了防止学生作弊,他又不想学生看到程序源代码。所以问题是如何加密Python源代码,同时又能让学生运行他的Python程序。


我Google了一下说有个网上的软件叫做Py2exe,可以把Python程序转化为Windows下的EXE文件。但是Py2exe似乎只能做Python 2和Python 3的低级版本,Python3.4以上的程序都不能转化。老史又跟我说Python在编译过程中可以生成pyc文件,就是一个对应于源代码的二进制代码,可以发这个pyc文件给学生执行。pyc文件很容易生成:

C:\> python
>>> import py_compile
>>> py_compile.compile('1.py')


我们拿到了这个pyc文件,却发现它不能双击执行,而只能在命令行下执行python 1.pyc才可以。这对使用来说很不方便。于是想到了Windows下的批处理文件,就在pyc文件的目录__pycache__里新建了一个runit.bat文件:

@echo off
python 1.pyc

双击runit.bat,果然执行成功了。


事情到这里似乎已经解决,但是果然没有其他办法双击执行pyc文件了吗?又在网上查了其它资料,有人说可以更改windows文件扩展名的关联,从而执行某一段命令。在cmd中运行这个命令

assoc | findstr /R /C:"pyc"

可以发现这一段信息:

.pyc=Python.CompiledFile

也就是说pyc文件被当成了CompiledFile对待,所以系统不会使用Python 1.pyc来运行这个文件。要更改这个设置,只要运行下面的命令:

Python.CompiledFile="C:\Python34\Python.exe" "%1" %*

就可以让pyc双击执行了。

转载自http://blog.sina.com.cn/s/blog_6f062c360102wqdq.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何加密PYTHON程序

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何加密PYTHON程序

今天系里的数学教授老史过来问我能不能帮他解决一个教学中遇到的问题。他有一个类似于Online Judge的Python程序,打算发给学生用于自测,但为了防止学生作弊,他又不想学生看到程序源代码。所以问题是如何加密Python源代码,同时又能
2023-01-31

VB.NET如何编写DEC加密程序

这篇文章主要为大家展示了“VB.NET如何编写DEC加密程序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何编写DEC加密程序”这篇文章吧。在VB.NET编写DEC加密程序是很容易
2023-06-17

python加密打包程序详解

这篇文章主要介绍了python加密打包程序,还给大家介绍了Python实现文件简单加解密的方法,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
2023-05-15

如何实现Java程序的反加密

这篇文章主要为大家展示了“如何实现Java程序的反加密”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现Java程序的反加密”这篇文章吧。首先我们来看看Java程序的反加密,也就是通常所说的
2023-06-03

python如何实现凯撒密码加密解密

这篇文章主要介绍了python如何实现凯撒密码加密解密的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何实现凯撒密码加密解密文章都会有所收获,下面我们一起来看看吧。凯撒加密就是通过将字母移动一定的位
2023-07-02

python加密打包程序的方法是什么

这篇文章主要介绍“python加密打包程序的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python加密打包程序的方法是什么”文章能帮助大家解决问题。python加密打包程序加密方式:将
2023-07-06

python如何打开加密的文件

要打开加密的文件,你需要先解密它,然后再进行打开操作。以下是一种使用Python解密加密文件的方法:1. 导入必要的模块:```pythonfrom cryptography.fernet import Fernet```2. 创建一个Fe
2023-09-17

Python如何破解加密压缩包

本篇内容介绍了“Python如何破解加密压缩包”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、准备工作我们先打开一个加密的压缩包尝试原始方
2023-06-25

python 如何加密自己的脚本

----------------------------脚本部分---------------------------------[root@localhost 桌面]# cat hello.py #!/usr/bin/env python
2023-01-31

Python编程之如何实现简单加密的文件

本篇内容介绍了“Python编程之如何实现简单加密的文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实例1:如果我知道某个账户的密码一定是
2023-06-15

java 如何加密

第一种,DES加密和解密import java.security.Key;import java.security.SecureRandom; import javax.crypto.Cipher;import javax.crypto.KeyGenerato
java 如何加密
2019-01-02

VB.NET如何加密

这篇文章主要为大家展示了“VB.NET如何加密”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何加密”这篇文章吧。常见的VB.NET加密和编码算法都已经在 .NET Framewor
2023-06-17

如何在Python中进行数据加密和解密

如何在Python中进行数据加密和解密,需要具体代码示例数据加密和解密是信息安全领域中非常重要的概念。在实际应用中,我们经常需要对敏感的数据进行加密保护,以防止未授权的访问和信息泄露。Python是一种功能强大的编程语言,提供了丰富的库和函
2023-10-22

如何使用python加密主机文件

这篇文章主要讲解了“如何使用python加密主机文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用python加密主机文件”吧!数据加密是一种保护数据安全的技术,通过对数据进行编码,
2023-07-05

Java如何加密/解密Excel

小编给大家分享一下Java如何加密/解密Excel,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!工具工具:Free Spire.XLS for Java (免费版
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录