在a主機上執行python**,喚醒b主機,讓b主機開機,以下內容和**親測可用。
需要在b主機上進行以下設定。
1,啟用網絡卡的喚醒功能。
可以在 cmd 或 powershell 中使用 powercfg /a 命令查詢目前系統上所有可用的、硬體可支援的「睡眠」策略:
不啟用快速開機是關鍵
在a主機上執行下面的python**就可以遠端喚醒b主機。
python傳送網路喚醒的**如下:
需要修改的只有下面的mac 位址和發廣播的區域網廣播位址。
wake_up(mac='cc-33-55-66-aa-21'): 這裡的 「cc-33-55-66-aa-21」 是b主機的mac位址。
broadcast = "192.168.31.255" 這裡是區域網發廣播的位址。
importsocket
import
time
import
struct
def wake_up(mac='
cc-33-55-66-aa-21'):
mac =mac
broadcast = "
192.168.31.255
"if len(mac) != 17:
raise valueerror("
mac address should be set as form 'xx-xx-xx-xx-xx-xx'")
mac_address = mac.replace("
-", ''
) data = ''.join(['
ffffffffffff
', mac_address * 20]) #
構造原始資料格式
send_data = b''
#把原始資料轉換為16進製制位元組陣列,
for i in range(0, len(data), 2):
send_data = b''.join([send_data, struct.pack('
b', int(data[i: i + 2], 16))])
#print(send_data)
#通過socket廣播出去,為避免失敗,間隔廣播三次
try:
sock =socket.socket(socket.af_inet, socket.sock_dgram)
sock.setsockopt(socket.sol_socket, socket.so_broadcast, 1)
sock.sendto(send_data, (broadcast, 7))
time.sleep(1)
sock.sendto(send_data, (broadcast, 7))
time.sleep(1)
sock.sendto(send_data, (broadcast, 7))
print("
done")
except
exception as e:
(e)wake_up()
python使用peewee實現mysql資料操作
peewee可用class來建立表,增刪改查,應該是相對餘單錶 本人幾乎沒用過,自以為如此 想實現sql查詢,得到list,比如這樣的結果 但是查詢結果是全是資料 元組 且找不到列名,後dir後逐個嘗試發現列名可以使用result.description j 0 獲取 元組使用起來不方便,現實現將資...
使用python實現簡單爬蟲
近日學習了python語言,簡單實現了乙個爬蟲,爬取了慕課網課程簡介上的,並儲存到本地。以下是實驗 coding utf 8 spyder editor import re import os import urllib.request 在python3.6環境中實現 f soure urllib....
使用python實現簡單爬蟲
因為工作上對於資料的需要,所以這段時間一直在學習python和scrapy框架,下面貼上乙個簡單的python 爬蟲,可能 風格有點low,見諒。coding utf 8 import codecs import urllib import urllib2 import re import json...