AutoDL GPU 使用#
import time
import os
import smtplib
from email.mime.text import MIMEText
from email.header import Header
class Mylog:
def __init__(self):
time_info=str(time.strftime("%m_%d_%H", time.localtime()))
if not os.path.exists('./runlogs/'):
os.mkdir('./runlogs/')
self.file_name='./runlogs/'+time_info+'.log'
self.file=open(self.file_name, 'a')
def __del__(self):
self.file.close()
#ログ記録を追加
def add_log(self,lg):
time_info = str(time.strftime("%H-%M-%S --> ", time.localtime()))
self.file.write(time_info+lg)
self.file.write('\r')
self.file.flush()
#実行終了後にメールを送信
def send_mail(self):
self.file.close()
from_addr = '' # メール送信アカウント
to_addrs = '' # 受信メールアカウント
qqCode = '' # 認証コード(これを自分で取得したものを入力)
smtp_server = 'smtp.qq.com'
smtp_port = 465
# サーバーを設定
stmp = smtplib.SMTP_SSL(smtp_server, smtp_port)
stmp.login(from_addr, qqCode)
with open(self.file_name,'r') as f:
buffer=f.read()
# 送信内容を組み立て
message = MIMEText(buffer, 'plain', 'utf-8') # 送信する内容
message['From'] = Header("autodl", 'utf-8') # 送信者
message['To'] = Header("me", 'utf-8') # 受信者
subject = 'AUTODL-実行終了'
message['Subject'] = Header(subject, 'utf-8') # メールタイトル
try:
stmp.sendmail(from_addr, to_addrs, message.as_string())
print('メール送信成功')
except Exception as e:
print('メール送信失敗--' + str(e))
使用時は、add_logをprint関数の代わりに使用し、最後にos.system('shutdown')の前にsend_mail関数を呼び出します。