Python实战-使用微信遥控你的电脑
生活随笔
收集整理的這篇文章主要介紹了
Python实战-使用微信遥控你的电脑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習 Python 最好的方法,就是使用它,使用它來解決問題,這種正向激勵會讓你堅持不斷的深入研究,進而在 Python 的道路上投入一萬小時,從而成為 Python 大師。 這里再宣傳下一萬小時定律: “人們眼中的天才之所以卓越非凡,并非天資超人一等,而是付出了持續不斷的努力。 1萬小時的錘煉是任何人從平凡變成世界級大師的必要條件。 ”他將此稱為“一萬小時定律”。 現在都是快節奏的辦公生活,大家都是同時使用手機和電腦,這就免不了使用微信與電腦之間相互傳遞文件,想一想你使用過多少次文件傳輸助手? 當你在電腦前時,手機與電腦之間相互傳文件都非常簡單。 當你不在電腦前呢? 比如你正在開會,突然有個緊急電話讓你把xx文件發給xx; 正在會議室討論需求,卻想看下電腦中的一個文件; 或者正在外面吃飯,想看下電腦上跑的程序運行完沒有,想到電腦還沒有關機,想讓它關機。 解決這些問題,使用 Python 的話,只需要通過一個 wxpy 模塊就可以輕松實現,小白也完全可以自已定制,非常方便。 話不多說,先看個視頻。 視頻演示: 使用手機上的【文件傳輸助手】來控制【登陸微信網頁版】的電腦。 原理非常簡單,就是使用手機發送消息到網頁版微信,網頁版微信收到消息后執行相應的任務,然后把結果返回給手機端,由于網頁版微信在電腦端登陸,因此可以控制電腦。 這個邏輯同樣適用于郵件,或者其他可以編程控制的通訊工具,由于微信的使用率最高,也最方便,因此這里選取微信做為樣例。
def?wechatController(msg):
???? '''
????實現微信控制電腦功能的函數
????:param?msg:
????:return:
????'''
???? if?msg.text? in?[ "help", "幫助", "怎么用"]:
???????? return? "可發送:\n!截圖\n!拍照\n!看目錄?路徑\n!傳文件?文件名\n!關機\n!cmd命令"
???? if?msg.text.startswith( "!")? or?msg.text.startswith( "!"):
????????command?=?msg.text.replace( "!", "").replace( "!", "")
????????logger.info( f"將執行命令:{command}")
???????? if?command?==? "關機":
????????????process?=?subprocess.run( "shutdown?-s?-t?0",shell= True,stdout=subprocess.PIPE)
???????????? return?process.stdout.decode( "gbk")
???????? elif?command?==? "拍照":
????????????os.chdir(org_path)
????????????cap?=?cv2.VideoCapture( 0)
????????????ret,?img?=?cap.read()
????????????cv2.imwrite( "capture.jpg",?img)
????????????cap.release()
????????????bot.file_helper.send_image( "capture.jpg")
???????? elif?command?==? "截圖":
????????????os.chdir(org_path)
????????????process?=?subprocess.run( "nircmd?savescreenshot?capture_screen.png",shell= True,stdout=subprocess.PIPE)
????????????bot.file_helper.send_image( "capture_screen.png")
???????????? return?process.stdout.decode( "gbk")
???????? elif?command.startswith( "看目錄"):
????????????dir?=? ""
????????????dir?=?command.replace( "看目錄", "")
????????????print(dir)
???????????? if?dir?!=? "":
????????????????os.chdir(dir)
????????????????process?=?subprocess.run( "dir",?shell= True,stdout=subprocess.PIPE)
???????????????? return?process.stdout.decode( "gbk")
???????? elif?command.startswith( "傳文件"):
????????????dir?=? ""
????????????dir?=?command.replace( "傳文件", "")
???????????? if?dir?!=? "":
????????????????bot.file_helper.send_file(dir)
???????? else:
????????????os.chdir(org_path)
????????????process?=?subprocess.run(command,shell= True,stdout=subprocess.PIPE)
???????????? return?process.stdout.decode( "gbk")
代碼還有一些其他功能函數,比如你可以和自己聊天,記錄所有收到的消息到日志,防止撤回,監控程序使用的內存等信息,參考 wxpy 的文檔來定制你的需求吧。
def?chat_to_self(msg):
???? '''
????自己和自己聊天
????:param?msg:
????:return:
????'''
????Tuling.do_reply(msg)
def?save_msg(msg):
???? '''
????記錄好友發送的所有消息,防止消息被撤回,保存在日志文件中
????:param?msg:
????:return:
????'''
????logger.info(msg)
完整代碼和一鍵運行的文件,我已生成好,放在了百度網盤中,長按下方二維碼,后臺回復關鍵詞 [ 微信遙控 ] 獲取。 無論何時何地,希望您能自由隨心訪問和管理您的電腦。 (完)
公眾號 somenzz 專注于Python技術分享 每周五發車 歡迎訂閱、在看、轉發
使用到的工具 wxpy:
官方鏈接: https://github.com/youfou/wxpy wxpy 是一個第三方庫,我們叫它微信機器人,是最優雅的微信個人號 API。 說的簡單點,就是一個微信網頁版的爬蟲,你也可以自己實現這樣的庫。 使用這個工具可以干嗎?控制路由器、智能家居等具有開放接口的玩意兒
運行腳本時自動把日志發送到你的微信
加群主為好友,自動拉進群中
跨號或跨群轉發消息
自動陪人聊天
逗人玩
主要邏輯:
當機器人文件傳輸助手收到文本消息時,判斷是否是 ! 開頭,如果是,則執行相應的任務并返回響應信息。def?wechatController(msg):
???? '''
????實現微信控制電腦功能的函數
????:param?msg:
????:return:
????'''
???? if?msg.text? in?[ "help", "幫助", "怎么用"]:
???????? return? "可發送:\n!截圖\n!拍照\n!看目錄?路徑\n!傳文件?文件名\n!關機\n!cmd命令"
???? if?msg.text.startswith( "!")? or?msg.text.startswith( "!"):
????????command?=?msg.text.replace( "!", "").replace( "!", "")
????????logger.info( f"將執行命令:{command}")
???????? if?command?==? "關機":
????????????process?=?subprocess.run( "shutdown?-s?-t?0",shell= True,stdout=subprocess.PIPE)
???????????? return?process.stdout.decode( "gbk")
???????? elif?command?==? "拍照":
????????????os.chdir(org_path)
????????????cap?=?cv2.VideoCapture( 0)
????????????ret,?img?=?cap.read()
????????????cv2.imwrite( "capture.jpg",?img)
????????????cap.release()
????????????bot.file_helper.send_image( "capture.jpg")
???????? elif?command?==? "截圖":
????????????os.chdir(org_path)
????????????process?=?subprocess.run( "nircmd?savescreenshot?capture_screen.png",shell= True,stdout=subprocess.PIPE)
????????????bot.file_helper.send_image( "capture_screen.png")
???????????? return?process.stdout.decode( "gbk")
???????? elif?command.startswith( "看目錄"):
????????????dir?=? ""
????????????dir?=?command.replace( "看目錄", "")
????????????print(dir)
???????????? if?dir?!=? "":
????????????????os.chdir(dir)
????????????????process?=?subprocess.run( "dir",?shell= True,stdout=subprocess.PIPE)
???????????????? return?process.stdout.decode( "gbk")
???????? elif?command.startswith( "傳文件"):
????????????dir?=? ""
????????????dir?=?command.replace( "傳文件", "")
???????????? if?dir?!=? "":
????????????????bot.file_helper.send_file(dir)
???????? else:
????????????os.chdir(org_path)
????????????process?=?subprocess.run(command,shell= True,stdout=subprocess.PIPE)
???????????? return?process.stdout.decode( "gbk")
代碼還有一些其他功能函數,比如你可以和自己聊天,記錄所有收到的消息到日志,防止撤回,監控程序使用的內存等信息,參考 wxpy 的文檔來定制你的需求吧。
def?chat_to_self(msg):
???? '''
????自己和自己聊天
????:param?msg:
????:return:
????'''
????Tuling.do_reply(msg)
def?save_msg(msg):
???? '''
????記錄好友發送的所有消息,防止消息被撤回,保存在日志文件中
????:param?msg:
????:return:
????'''
????logger.info(msg)
完整代碼和一鍵運行的文件,我已生成好,放在了百度網盤中,長按下方二維碼,后臺回復關鍵詞 [ 微信遙控 ] 獲取。 無論何時何地,希望您能自由隨心訪問和管理您的電腦。 (完)
公眾號 somenzz 專注于Python技術分享 每周五發車 歡迎訂閱、在看、轉發
總結
以上是生活随笔為你收集整理的Python实战-使用微信遥控你的电脑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国广电已拥有最多的4G、5G基站,中国
- 下一篇: python中拼接路径os.path.j