Ich möchte in ArcGIS for Desktop einen Großteil der Nacht schlafen können, während Models ausgeführt werden.
Ich möchte, dass ArcGIS for Desktop nach Abschluss einen Sound wiedergibt, um mich zu wecken.
Ist das möglich?
Ich möchte in ArcGIS for Desktop einen Großteil der Nacht schlafen können, während Models ausgeführt werden.
Ich möchte, dass ArcGIS for Desktop nach Abschluss einen Sound wiedergibt, um mich zu wecken.
Ist das möglich?
Antworten:
Ich mag Aarons Antwort wirklich, aber etwas einfacheres und lokaleres:
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"])
Wenn Sie das Unterprozessmodul verwenden, wird mit Windows Media Player eine Datei geöffnet.
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])
Natürlich werden Sie durch die Beispielmusik eher in den Schlaf versetzt, sodass ein Ton wie mein Wecker möglicherweise besser geeignet ist.
Aber natürlich , dass das so einfach , dass man konnte beides tun, nur tack , dass auf das Ende des Aarons' Code.
Wie wäre es, wenn Sie sich eine E-Mail schicken, wenn das Modell fertig ist? Stellen Sie sicher, dass Ihr Telefon einen Signalton ausgibt, wenn Sie die über das angehängte Python-Skript gesendete E-Mail erhalten. Dies soll als Skript-Tool in ModelBuilder ausgeführt werden. Wenn Sie nicht mit Skriptwerkzeugen vertraut sind, befolgen Sie diese Anweisungen . Bitte beachten Sie, dass dies für die Verwendung mit Google Mail konfiguriert ist. Das Tool soll wie folgt funktionieren (beachten Sie die Vorbedingung, die die Variable bufferedPoints und das Skript-Tool sendEmail anfügt):
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)
Anweisungen zum Erstellen des Skriptwerkzeugs:
Erstellen Sie das Skript
Erstellen Sie das Skript-Tool