python代码直接关机_python实现电脑自动关机
0、前言
在以前讀書的時候,實驗室里面要求每天都要關電腦,有時候出去玩得晚了,懶得回實驗室關電腦,又沒有同學幫忙。于是就想,能不能通過什么手段實現遠程關閉電腦。在網上搜索一番后,決定用 python + email,實現遠程關閉電腦。
1、準備
python: 3.5.2 email:163郵箱 system:Win10
安裝依賴包email:在python安裝目錄下/Scripts下執行:pip install email設置163郵箱的POP3/SMTP服務 : 登錄163郵箱 ?> 設置 ?> POP3/SMTP/IMAP ?> 勾選POP3/SMTP服務
2、說明
執行py程序后,程序將每隔10分鐘(時間可以自己設置)讀取一次郵箱最新郵件,解析獲得郵件主題,當主題為“關機”時,程序將關閉電腦,為“重啟”時,將重啟電腦。在長時間離開電腦時,可以將py程序跑起來,如果需要關機或重啟,可以向郵箱發一封郵件即可
3、代碼
# -*- coding:utf-8 -*-
import os
import time
import poplib
import email
from email.header import decode_header
#========================================
# 讀取Email,獲取Email主題
#========================================
def getEmailSubject():
read = poplib.POP3('pop.163.com')
read.user('xxx@163.com')# 163郵箱用戶名
read.pass_('xxx') # 163郵箱設置中的客戶端授權密碼
allEmails = read.stat() # 讀取郵件信息
topEmail = read.top(allEmails[0], 0) # 獲取最新的一封郵件
tmp = []
# 解碼郵件,存入tmp
for s in topEmail[1]:
try:
tmp.append(s.decode())
except:
try:
tmp.append(s.decode('gbk'))
except:
tmp.append(s.decode('big5'))
message = email.message_from_string('\n'.join(tmp))
# 獲取郵件主題
subject = decode_header(message['Subject'])
if subject[0][1]:
subjectDecode = subject[0][0].decode(subject[0][1])
else:
subjectDecode = subject[0][0]
return subjectDecode
#=========================================
# 檢查Email的主題
#=========================================
def checkEmailSubject():
while True:
subject = getEmailSubject()
print('check subject ...')
print('subject is ' + subject)
if subject == '重啟':
os.system('shutdown -r -t 3')
break
if subject == '關機':
os.system('shutdown -s -t 3')
break
time.sleep(600) # 每10分鐘檢查一次
if __name__ == '__main__':
checkEmailSubject()
4、結束語
不過自打我工作半年來,一共也就只關過3、4次電腦
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
總結
以上是生活随笔為你收集整理的python代码直接关机_python实现电脑自动关机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: go vs python 对接外部web
- 下一篇: 跨计算机建立视图_计算机二级office