前言
好幾天沒給大家寫文章了,原因是這幾天比較忙,再又馬上開學了,所以有些事情有些力不從心,不過之後,我會調整好時間,儘量每週給大家帶來3-4篇的文章,接下來的一段時間,文章內容會有一些跟Python基礎相關,畢竟目的是跟大家一起學習,所以之後會介紹一些Python的常用資料結構以及一些高階用法,有需要的讀者可以留意一下。說回正題,今天給大家帶來的是Python的一個小程式,覺得還挺有趣的,所以就分享給大家。我們先來看一看程式的執行結果。
執行程式後,程式會給你的微信傳送這樣的一條訊息,你可以根據上面的選項,從而實現不同的功能,比如獲取當前電腦使用者
如果你已經外出了,你的電腦卻沒關,你想知道是誰在使用你的電腦,那麼這個功能就會幫助你,並且當事人並不會察覺,如果你不想他使用你的電腦,那麼你可以執行關機命令。試想一下,如果你的好朋友在用你的電腦吃雞時,當他即將要吃到雞時,你用微信關閉了你的電腦,我想他此時肯定是一種懵逼的狀態吧。
程式思路
這個小程式的實現也比較簡單,主要用到了opencv和itchat庫,其中opencv庫是Python的一個第三方視覺庫,它實現了影像處理和計算機視覺方面的很多通用演算法,如果你需要做人臉識別或者二維碼驗證,你也許會用到這個庫,總體來說這個第三方庫很強大,感興趣的讀者可以參考度娘上的官方文件來進行學習。程式目前只新增了兩個功能,一個是獲取當前使用者的影像資訊,通過 opencv 來呼叫電腦的攝像頭,把當前使用電腦的使用者拍照下來,傳送到你的微信上。至於第二個功能遠端關機是通過呼叫 os 庫,傳送 cmd 命名即可實現。當然你想實現你想要的特定的功能的話只需要新增特定的命令和相關的庫即可。
程式原始碼
import itchat
import os
import time
import cv2
sendMsg = u"{訊息助手}:暫時無法回覆"
usageMsg = u"使用方法:\n1.執行CMD命令:cmd xxx (xxx為命令)\n" \
u"-例如關機命令:\ncmd shutdown -s -t 0 \n" \
u"2.獲取當前電腦使用者:cap\n3.啟用訊息助手(預設關閉):ast\n" \
u"4.關閉訊息助手:astc"
flag = 0 #訊息助手開關
nowTime = time.localtime()
filename = str(nowTime.tm_mday)+str(nowTime.tm_hour)+str(nowTime.tm_min)+str(nowTime.tm_sec)+".txt"
myfile = open(filename, 'w')
@itchat.msg_register('Text')
def text_reply(msg):
global flag
message = msg['Text']
fromName = msg['FromUserName']
toName = msg['ToUserName']
if toName == "filehelper":
if message == "cap":
cap = cv2.VideoCapture(0)
ret, img = cap.read()
cv2.imwrite("weixinTemp.jpg", img)
itchat.send('@img@%s'%u'weixinTemp.jpg', 'filehelper')
cap.release()
if message[0:3] == "cmd":
os.system(message.strip(message[0:4]))
if message == "ast":
flag = 1
itchat.send("訊息助手已開啟", "filehelper")
if message == "astc":
flag = 0
itchat.send("訊息助手已關閉", "filehelper")
elif flag == 1:
itchat.send(sendMsg, fromName)
myfile.write(message)
myfile.write("\n")
myfile.flush()
if __name__ == '__main__':
itchat.auto_login(hotReload=True)
itchat.send(usageMsg, "filehelper")
itchat.run()
複製程式碼
使用教程
獲取原始碼,然後在你的電腦上執行。隨後會彈出一個微信網頁登入的二維碼。
使用你的手機微信掃描登入,等待一會兒,微信檔案助手就會收到相應操作資訊。
傳送訊息「cmd shutdown -s -t 0」即可讓當前的電腦關閉。
傳送訊息「cap」即可呼叫電腦攝像頭拍攝當前使用者,然後把圖片傳送到微信上。
當然 cmd 命名還可以做更多有趣的事,大家可以自己去網上搜尋下。
這波騷操作學會了嗎?趕快去拿你的好朋友試一試!
推薦閱讀:
文章首發於公眾號【TWcoding】,對Python,爬蟲,資料分析,演算法感興趣的朋友們,可以加微信公眾號【 TWcoding】,我們一起玩轉Python。後臺回覆Python送你2018最新Python全系資源。
If it works for you.Please,star.
自助者,天助之