摘要:本文主要向大家介绍了如何加密Python语言程序,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。
本文主要向大家介绍了如何加密Python语言程序,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。
今天系里的数学教授老史过来问我能不能帮他解决一个教学中遇到的问题。他有一个类似于Online Judge的Python程序,打算发给学生用于自测,但为了防止学生作弊,他又不想学生看到程序源代码。所以问题是如何加密Python源代码,同时又能让学生运行他的Python程序。
我Google了一下说有个网上的软件叫做Py2exe,可以把Python程序转化为Windows下的EXE文件。但是Py2exe似乎只能做Python 2和Python 3的低级版本,Python3.4以上的程序都不能转化。老史又跟我说Python在编译过程中可以生成pyc文件,就是一个对应于源代码的二进制代码,可以发这个pyc文件给学生执行。pyc文件很容易生成:
123 C:\> python>>> import py_compile>>> py_compile.compile('1.py')
我们拿到了这个pyc文件,却发现它不能双击执行,而只能在命令行下执行python 1.pyc才可以。这对使用来说很不方便。于是想到了Windows下的批处理文件,就在pyc文件的目录__pycache__里新建了一个runit.bat文件:
12 @echo offpython 1.pyc
双击runit.bat,果然执行成功了。
事情到这里似乎已经解决,但是果然没有其他办法双击执行pyc文件了吗?又在网上查了其它资料,有人说可以更改windows文件扩展名的关联,从而执行某一段命令。在cmd中运行这个命令
1 assoc | findstr /R /C:"pyc"
可以发现这一段信息:
1 .pyc=Python.CompiledFile
也就是说pyc文件被当成了CompiledFile对待,所以系统不会使用Python 1.pyc来运行这个文件。要更改这个设置,只要运行下面的命令:
1 Python.CompiledFile="C:\Python34\Python.exe" "%1" %*
就可以让pyc双击执行了。
以上就介绍了Python的相关知识,希望对Python有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言Python频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号