家政行业网站建设方案,wordpress怎么给分类标签写标题,做网站需要哪些工程师,家居网站建设公司排名前言#xff1a;上一期我们简单学习了如何编写一个多次弹窗警告用户的exe伪恶意文件。我们知道了把Python初始文件编译为exe文件后#xff0c;程序在没有Python环境的情况下也能正常运行。我们上次编写的程序仅仅只是伪造系统正在执行关机命令前的倒计时的假象#xff0c;实…前言上一期我们简单学习了如何编写一个多次弹窗警告用户的exe伪恶意文件。我们知道了把Python初始文件编译为exe文件后程序在没有Python环境的情况下也能正常运行。我们上次编写的程序仅仅只是伪造系统正在执行关机命令前的倒计时的假象实际系统最后并不会执行关机命令。那么好本次我们将学习如何让程序先进行倒计时警告用户系统即将关机最后执行关机指令。 编程思路本次编程我们是对上次程序的修改优化即补充关机指令优化弹窗显示并补充上次所讲的需要扩展讲解的内容。因次编程思路与上次相比基本无异 -先从主题入手tkinteros库是主体其次多次的弹窗我们需要多线程因此threading库必不可少为了伪造系统的随机性我们需要random库为了获取系统的真实信息及执行系统操作我们需要os,platform两个库为了表现程序真实性我们需要time库......至此所有库都准备好了-tkinter,random,time,os,platform,threading。 import tkinter
import os
import threading
import time
import random
import platform
import ctypes 1弹窗颜色修改优化
上次我们为了编程方便使用十种颜色红橙黄绿蓝紫白黑金灰来给我们的弹窗上色。但是运行之后我们发现了两个需要改进的地方一弹窗颜色中有黑色这导致程序运行后弹出的弹窗匹配到黑色时窗口显示的内容会完全看不清楚严重影响程序的整体运行效果二颜色种类过于单一导致弹窗主体颜色重复率很高。因次本次编程中我们将解决这两个主要问题一删除列表s中的黑色二增加列表s中的颜色数量扩充至15个。当然以上只是我的个人感受大家可自行调整挑选自己喜欢的颜色。如下所示
s[red,orange,yellow,green,blue,teal,purple,peru,gold,violet,salmon,navy,tan,maroon,azure]2主窗口优化
上次我们利用while函数对倒计时迭代器的返回内容进行一对一匹配即不让弹窗颜色始终保持原状。但是后面我们发现程序运行后while循环的效果与删除后无异秉持代码追求更简洁更高效的原则我们删除了while循环wihle循环影响程序运行速度。如下所示
def windows():window tkinter.Tk()window.title({} {} {} {}警告!!!.format(os.name,platform.machine(),platform.node(),platform.version()))window.geometry({}x{}.format(1160,600))numberrandom.randint(0,14)tkinter.Label(window,text{}系统将在{}秒后自动关机.format(platform.system(),count_down()[0])*1,font(楷体,30),bg{}.format(s[number]),width1160,height600).pack()window.mainloop()count_down().remove(count_down()[0])3添加关机执行单元
在 Python 中可以使用 os 模块中的 os.system() 函数来执行系统命令。因此可以使用如下命令执行关机
os.system(shutdown -s -t 0)
但是注意这个命令执行的并不是强制关机。因此当系统关机前还有正在运行的程序时在最后关机时系统会提示用户是否确认关机此时用户有撤销关机的权利。因此如果你觉得你需要程序执行强制关机来整蛊室友可以将以上命令修改为以下命令
os.system(shutdown -f -s -t 0)
注意这种方法只能在 Windows 系统中使用在其他操作系统中可能不能正常工作。需要注意的是强制关机会导致程序强行终止可能会导致未保存的数据丢失因此应谨慎使用别让室友把你打成猪头。
程序衔接如下所示
time.sleep(1)
os.system(shutdown -f -s -t 0)4完整代码展示
import tkinter
import os
import threading
import time
import random
import platform
import ctypess[red,orange,yellow,green,blue,teal,purple,peru,gold,violet,salmon,navy,tan,maroon,azure]begin12
def count_down():seconds[]for i in range(begin,0,-1):seconds.append(i)return secondsdef windows():window tkinter.Tk()window.title({} {} {} {}警告!!!.format(os.name,platform.machine(),platform.node(),platform.version()))window.geometry({}x{}.format(1160,600))numberrandom.randint(0,14)tkinter.Label(window,text{}系统将在{}秒后自动关机.format(platform.system(),count_down()[0])*1,font(楷体,30),bg{}.format(s[number]),width1160,height600).pack()window.mainloop()count_down().remove(count_down()[0])while begin0:markthreading.Thread(targetwindows)mark.start()time.sleep(1)begin-1time.sleep(1)
os.system(shutdown -f -s -t 0)5运行效果展示 后面将Python初始文件编译为exe文件的步骤我就不再赘述了新手小白可以看一下我的上一篇文章谢谢 拓展延伸
一什么是Python第三方库
Python第三方库是除Python官方提供的标准库之外由第三方公司、社区或个人开发并发布的库。
二Python标准库与第三方库的联系和区别
Python标准库和第三方库是Python编程中常用的两种不同类型的库它们在安装方式、来源、可靠性和功能等方面存在一些区别。
三Pyinstaller的常用命令有哪些
-h, --help 显示帮助信息并退出 -v, --version 显示程序版本信息并退出 -F, --onefile 生成单个可执行文件默认为多文件捆绑包 -D, --onedir 生成一个包含多个文件的目录作为可执行程序 -a, --ascii 不包含 Unicode 字符集支持 -d, --debug 产生 debug 版本的可执行文件 -w, --windowed, --noconsolc 指定程序运行时不显示命令行窗口仅对 Windows 有效 -c, --nowindowed, --console 指定使用命令行窗口运行程序仅对 Windows 有效 -o DIR, --outDIR 指定 spec 文件的生成目录 -p DIR, --pathDIR 设置 Python 导入模块的路径 -n NAME, --nameNAME 指定项目产生的 spec名字 -i ICON, --iconICON 为 Windows 可执行文件指定图标 -add-data SOURCE:DEST 添加非 Python 文件或目录到打包文件中 -add-binary SOURCE:DEST 添加其他二进制文件到可执行文件中 -p DIR, --paths DIR 搜索导入的路径如使用 PYTHONPATH -h, --help 显示帮助信息并退出 -v, --version 显示程序版本信息并退出 -F, --onefile 生成单个可执行文件默认为多文件捆绑包 -D, --onedir 生成一个包含多个文件的目录作为可执行程序 -a, --ascii 不包含 Unicode 字符集支持 -d, --debug 产生 debug 版本的可执行文件 -w, --windowed, --noconsolc 指定程序运行时不显示命令行窗口仅对 Windows 有效 -c, --nowindowed, --console 指定使用命令行窗口运行程序仅对 Windows 有效 -o DIR, --outDIR 指定 spec 文件的生成目录 -p DIR, --pathDIR 设置 Python 导入模块的路径 -n NAME, --nameNAME 指定项目产生的 spec名字 -i ICON, --iconICON 为 Windows 可执行文件指定图标 -add-data SOURCE:DEST 添加非 Python 文件或目录到打包文件中 -add-binary SOURCE:DEST 添加其他二进制文件到可文件中
期待你的交流指教我是闪云-微星我们下期再见