自制病毒 Virus-1.0 发布
前言
作为一个Python练习时长两分半的个人练习生,显然我得整些活出来。咳咳,经过整整长达两秒半的深思熟虑,我决定做一个病毒。
然后我就在Github上新建了一个仓库,万里征程第一步哈。这难道不是废话么
思考
我先思考一下,这个病毒需要什么功能?先说好,我暂时不想给它添加什么诸如吃MBR之类的的高级玩意儿。我的设想如下:
- 无限弹窗
- 在后台播放音乐
- 在以上两项开始前,先来一波弹窗调戏
- 在代码中夹杂私货
理论存在,实践开始。打开Visual Studio Code!
代码
我只是一个 12 岁的小学生,代码水平一般。如果有什么问题,求轻喷~
1 | # coding=utf-8 |
总结
我首先引用了Play_mp3这个第三方库,用它来实现音乐的播放。用它是因为最傻瓜无脑,不会出一些乱七八糟的问题。是的你没看错,我甚至为此开了一个OSS。为什么不直接放到程序根目录呢?因为打包.EXE后找不到文件
接着引用了webbrowser这个库来实现无限弹窗。大家可能会感到不解,用Tk不行?我用过Tk,发现这玩意震撼是震撼,但一点不卡(我希望在程序运行时让电脑变得卡顿)。所以,最后就用了webbrowser。屏幕上浏览器窗口一堆是不是非常痛?嘻嘻!
tkinter和tkinter.messagebox这两个就不用说了吧?管最开始的弹窗调戏的。
thread是负责实现Python程序多线程执行命令的。这里我用它来使上面三句命令同时执行。
前面的一堆tkinter.messagebox.showinfo先弹出用于调戏的弹窗;webbrowser.open让浏览器打开指定网址;Play_mp3.play来播放音乐,补充一点,这个音乐是银行快乐曲 Unwelcome School (银行:什么 13 动静);给a和b分别赋值114514和1919810再让电脑计算,这同时也可以消耗一部分电脑性能,啊啊啊啊啊啊啊!(悲)
别忘了给这些套个def,再套个while True:,最后加上if __name__ == '__main__':,这样就能实现代码同时执行+无限循环执行啦!
回顾一下最初定下的目标,全部完成了吗?
- 无限弹窗
- 在后台播放音乐
- 在以上两项开始前,先来一波弹窗调戏
- 在代码中夹杂私货
完美!在代码中夹杂私货这项完成的最好
打包
刚准备关掉电脑,我就发现一个非常严重的问题:
这是一个恶搞病毒。当我把它发给朋友时也不能发.PY源文件啊!那样的话,我要先让他安装Python再换源最后pip install安装一堆第三方库!显然我要先打包成.EXE才能保证邪恶计划的顺利实施。啊对对对!
问了问万能的必应,发现解决办法还是有的,且非常完美。使用pyinstaller即可完美解决。
首先,先安装pyinstaller:
1 | pip install pyinstaller |
然后,在.PY源文件的根目录打开你系统的终端。准备好一个.ICO的程序图标后执行以下命令,记得文件名要随机应变:
1 | pyinstaller -F -i 图标.ico 程序.py |
OK!不过打包后为什么这么大……

结束
这篇文章的字数对一个小学生真不算少,真的要累死了啊。其实最累的还当属校正大小写,有些地方比如文件后缀也一直有争议。到底是.py还是.PY?网上有的说这是缩写,要大写;也有的说小写也行。我就这么想来想去。最后,我干脆按数学判断题的思路来判断,认为这是缩写,要大写。Emm……(典型的强迫症晚期)
该项目已上线Github,感兴趣的全民制作人们可以去看一下。啊对了,看在我这么辛苦的份上,给波Star行吗