<abbr id="ciwa6"><option id="ciwa6"></option></abbr>
  • <sup id="ciwa6"><kbd id="ciwa6"></kbd></sup>
    <small id="ciwa6"></small>
  • 千鋒教育-做有情懷、有良心、有品質的職業教育機構

    400-811-9990
    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當前位置:成都千鋒IT培訓  >  技術干貨  >  如何讓Python實現遠程控制電腦

    如何讓Python實現遠程控制電腦

    來源:千鋒教育
    發布人:xqq
    時間: 2023-11-06 13:26:08

    一、前言

    很多時候,我們都有遠程控制電腦的需求。比如正在下載某樣東西,需要讓電腦在下載完后關機。或者你需要監控一個程序的運行狀況等。

    今天我們就來用Python實現一個遠程監控并控制電腦的小程序。

    二、實現原理

    聽起來遠程控制電腦好像很高級的樣子,但是實現起來其實非常簡單。實現原理如下:

    1.運行程序,讓程序不停地讀取郵件。

    2.用手機給電腦發送郵件。

    3.判斷是否讀取到指定主題的郵件,如果有,則獲取郵件內容。

    4.根據郵件內容,執行預設的函數。

    與其說是學習如何遠程控制電腦,還不如說是學習如何讀取郵件。當然,上面的的流程只實現了遠程控制電腦,而沒實現對電腦的監控。而監控的操作可以以截圖的方式來進行。

    我們可以預設一個指令,當讀取到郵件內容為grab時,我們就發送電腦截圖。如何將電腦截圖發送給手機郵箱,這樣就達到了監控的效果。

    關于如何發送郵件可以參考博客:如何用Python發送郵件?。這里就不再詳細說了。下面我們看看如何讀取郵件。

    三、讀取郵件

    讀取郵件需要使用到imbox模塊,安裝語句如下:

    pipinstallimbox

    讀取郵件的代碼如下:

    fromimboximportImbox

    defread_mail(username,password):

    withImbox('imap.163.com',username,password,ssl=True)asbox:

    all_msg=box.messages(unread=True)

    foruid,messageinall_msg:

    #如果是手機端發來的遠程控制郵件

    ifmessage.subject=='RemoteControl':

    #標記為已讀

    box.mark_seen(uid)

    returnmessage.body['plain'][0]

    首先我們用with語句,打開郵箱。然后通過下面語句獲取所有的未讀郵件:

    all_msg=box.messages(unread=True)

    獲取未讀郵件后,對郵件進行遍歷。將主題為“ReomteControl”的郵件標記為已讀,并返回文本內容。

    這里需要注意,因為我們篩選出了主題為“RemoteControl”的郵件,因此我們在用手機發郵件的時候需要將主題設置為“RemoteControl”,這樣可以避免其它郵件的干擾。

    四、截圖

    截圖需要使用到PIL模塊,安裝如下:

    pipinstallpillow

    截圖的代碼很簡單:

    fromPILimportImageGrab

    defgrab(sender,to):

    #截取電腦全屏

    surface=ImageGrab.grab()

    #將截屏保存為surface.jpg

    surface.save('surface.jpg')

    #將截屏發送給手機

    send_mail(sender,to,['surface.jpg'])

    其中send_mail的代碼如下:

    importyagmail

    defsend_mail(sender,to,contents):

    smtp=yagmail.SMTP(user=sender,host='smtp.163.com')

    smtp.send(to,subject='RemoteControl',contents=contents)

    關于發送郵件的介紹可以參考上面提到的博客。

    五、關機

    關機的操作非常簡單,我們可以用python來執行命令行語句即可。代碼如下:

    importos

    defshutdown():

    #關機

    os.system('shutdown-s-t0')

    除了關機,我們還可以執行很多操作。對于一些復雜的操作,我們可以預編寫一些bat文件,這里就不演示了。

    六、完整代碼

    上面我們編寫了各個部分的代碼,然后再來看看主體部分的代碼:

    defmain():

    #電腦用來發送郵件已經電腦讀取的郵箱

    username='sockwz@163.com'

    password='********'

    #手機端的郵箱

    receiver='2930777518@qq.com'

    #讀取郵件的時間間隔

    time_space=5

    #注冊賬戶

    yagmail.register(username,password)

    #循環讀取

    whileTrue:

    #讀取未讀郵件

    msg=read_mail(username,password)

    ifmsg:

    #根據不同的內容執行不同操作

    ifmsg=='shutdown':

    shutdown()

    elifmsg=='grab':

    grab(username,receiver)

    time.sleep(time_space)

    我們可以根據自己的需求編寫一些其它功能。下面是完整的代碼:

    importos

    importtime

    importyagmail

    fromimboximportImbox

    fromPILimportImageGrab

    defsend_mail(sender,to,contents):

    smtp=yagmail.SMTP(user=sender,host='smtp.163.com')

    smtp.send(to,subject='RemoteControl',contents=contents)

    defread_mail(username,password):

    withImbox('imap.163.com',username,password,ssl=True)asbox:

    all_msg=box.messages(unread=True)

    foruid,messageinall_msg:

    #如果是手機端發來的遠程控制郵件

    ifmessage.subject=='RemoteControl':

    #標記為已讀

    box.mark_seen(uid)

    returnmessage.body['plain'][0]

    defshutdown():

    os.system('shutdown-s-t0')

    defgrab(sender,to):

    surface=ImageGrab.grab()

    surface.save('surface.jpg')

    send_mail(sender,to,['surface.jpg'])

    defmain():

    username='sockwz@163.com'

    password='你的授權碼'

    receiver='2930777518@qq.com'

    time_space=5

    yagmail.register(username,password)

    whileTrue:

    #讀取未讀郵件

    msg=read_mail(username,password)

    ifmsg:

    ifmsg=='shutdown':

    shutdown()

    elifmsg=='grab':

    grab(username,receiver)

    time.sleep(time_space)

    if__name__=='__main__':

    main()

    以上內容為大家介紹了如何讓Python實現遠程控制電腦,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.mobiletrain.org/

    聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

    猜你喜歡LIKE

    python delattr函數如何使用?

    2023-11-10

    python time.strptime的格式化

    2023-11-10

    pythonGIL在Python多線程的應用

    2023-11-10

    最新文章NEW

    python中pdb模塊怎么用?

    2023-11-10

    Python如何截圖保存?

    2023-11-10

    python?中缺少module怎么辦?

    2023-11-10

    相關推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網友熱搜 更多>>