Python利用wakeonlan库 局域网 网络唤醒电脑

这篇博客介绍了如何通过Python的wakeonlan库实现远程唤醒电脑的WOL功能。首先,确保目标电脑支持WOL并在BIOS设置中开启。然后,通过pip安装wakeonlan库,并使用Python代码创建一个UI界面,展示电脑名称和MAC地址。当用户选择电脑并点击唤醒按钮时,程序将发送魔法包来唤醒选定的设备,同时在界面上显示‘发送成功’的提示。
摘要由CSDN通过智能技术生成

一、现在的电脑都普遍支持有线网络的WOL了,需要唤醒的电脑上进行主板设置即可
二、Python中安装wakeonlan库
pip install wakeonlan
关于库的说明可参考文档说明https://www.cnpython.com/pypi/wakeonlan
三、代码部分

from wakeonlan import send_magic_packet
from PySide2.QtWidgets import QApplication
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import QFile
from PySide2.QtGui import *

class Stats:   #定义类
    def __init__(self):  #导入UI窗口
        #从文件中加载UI界面
        qfle_stats=QFile('唤醒.ui')     #导入UI界面固定写法
        qfle_stats.open(QFile.ReadOnly)   #导入UI界面固定写法
        qfle_stats.close()                #导入UI界面固定写法
        self.ui=QUiLoader().load(qfle_stats)   #定义窗口

        self.ui.model = QStandardItemModel(3, 2)  #二维表格数据实例 3行2列
        self.ui.model.setHorizontalHeaderLabels(['电脑名称', 'MAC地址'])

        item1 = QStandardItem('电脑1')
        item2 = QStandardItem('4C.C2.6A.B7.53.61')
        item3 = QStandardItem('电脑2')
        item11 = QStandardItem('B8.92.5A.56.61.06')
        item22 = QStandardItem('电脑3')
        item33 = QStandardItem('1C.1B.06.F2.92.9B')
                # 设置每个位置的文本值
        self.ui.model.setItem(0, 0, item1)
        self.ui.model.setItem(0, 1, item2)
        self.ui.model.setItem(1, 0, item3)
        self.ui.model.setItem(1, 1, item11)
        self.ui.model.setItem(2, 0, item22)
        self.ui.model.setItem(2, 1, item33)

        self.ui.tableView.setModel(self.ui.model)  #表格连接数据
        self.ui.pushButton.clicked.connect(self.huanxin)  #按纽点击函数 BUtton要与界面中的按纽名字一致
        self.ui.tableView.clicked.connect(self.table_left_click)   #单击表格信table_left_click为ui预定义函数

    def table_left_click(self,item):   #ui右键单击的预定义信号item为我们点击的单元格
        self.ui.label_2.setText('')  #状态为空
        行标=item.row()  #获取行标
        列标=item.column()#获取列标
        mac=self.ui.model.item(行标,列标).text()  #获取实列数据中的坐标数据
        self.ui.lineEdit.setText(mac)           #显示到单列表框中


    def huanxin(self):   #视频解析
        mac = self.ui.lineEdit.text() #获取MAC地址
        send_magic_packet(mac)   #唤醒代码
        print('发送成功')
        self.ui.label_2.setText('发送成功稍等电脑开机')



if "__main__" == __name__:
    app = QApplication([])
    Stats = Stats()
    Stats.ui.show()
    app.exec_()


注:唤醒.ui为designer制作的界面ui
效果如下图:
在这里插入图片描述
UI设计界面:
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值