Modeller gece boyunca ArcGIS for Desktop'ta çalışırken uyuyabilmek istiyorum.
ArcGIS for Desktop'ın bittiğinde beni uyandırmak için bir ses çalmasını istiyorum.
Mümkün mü?
Modeller gece boyunca ArcGIS for Desktop'ta çalışırken uyuyabilmek istiyorum.
ArcGIS for Desktop'ın bittiğinde beni uyandırmak için bir ses çalmasını istiyorum.
Mümkün mü?
Yanıtlar:
Aarons'un yanıtını gerçekten çok seviyorum, ancak daha basit ve yerel bir şey:
subprocess.Popen([r"C:\Program Files (x86)\Windows Media Player\wmplayer.exe",r"C:\Users\Public\Music\Sample Music\Maid with the Flaxen Hair.mp3"])
alt işlem modülünü kullanmak windows media player'ın bir dosyayı açmasına neden olur.
import subprocess
wmPlay = r"C:\Program Files (x86)\Windows Media Player\wmplayer.exe"
PlayFile= r"C:\Users\Public\Music\Sample Music\Maid with the Flaxen Hair.mp3"
subprocess.Popen([wmPlay,PlayFile])
Tabii ki örnek müziğin sizi uyutması daha olasıdır, bu yüzden çalar saat tonum gibi bir şey daha uygun olabilir.
Ama tabii ki her ikisini de yapabileceğiniz kadar basit , sadece Aarons kodunun sonuna yapıştırın.
Model bittiğinde kendinize e-posta göndermeye ne dersiniz? Telefonunuzu, ekli Python betiği ile gönderilen e-postayı aldığınızda size bir ton verecek şekilde ayarladığınızdan emin olun. Bu, ModelBuilder'da bir komut dosyası aracı olarak çalışmak üzere tasarlanmıştır. Komut dosyası araçlarını bilmiyorsanız, bu talimatları izleyin . Bunun gmail ile çalışacak şekilde yapılandırıldığını lütfen unutmayın. Araç aşağıdaki gibi çalışacak şekilde tasarlanmıştır (bufferedPoints değişkenini ve sendEmail komut dosyası aracını iliştirme ön koşuluna dikkat edin):
import smtplib, os, arcpy
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
# Fill in the necessary blanks here
gmail_user = sys.argv[1]
gmail_pwd = sys.argv[2]
# The parameters
to = sys.argv[3]
subject = sys.argv[4]
text = sys.argv[5]
def mail(to, subject, text):
msg = MIMEMultipart()
msg['From'] = gmail_user
msg['To'] = to
msg['Subject'] = subject
# Attaches a text message to the e-mail
msg.attach(MIMEText(text))
mailServer =smtplib.SMTP("smtp.gmail.com", 587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(gmail_user, gmail_pwd)
mailServer.sendmail(gmail_user, to, msg.as_string())
mailServer.close()
mail(to, subject, text)
Komut dosyası aracını oluşturma talimatları:
Komut dosyasını oluşturun
Komut dosyası aracını oluşturma