모델이 완료되면 ArcGIS for Desktop에서 스피커에서 사운드가 재생됩니까?


16

ArcGIS for Desktop에서 모델이 밤새 실행되는 동안 잠을 자고 싶습니다.

완료 될 때 ArcGIS for Desktop에서 소리가 나도록 설정하고 싶습니다.

이게 가능해?


3
이메일로 알려 주시면 답변에 두 가지 모두 포함될 수 있습니다 (맥주도 좋을 것입니다). 훌륭한 Q.
모르는 경우

1
Chr (7) BEL은 스피커 사운드를 재생하지만 약간의 파이썬에 관심이 있다면 도움이 될 수 있습니다. 그래도 맥주를 도울 수 없습니다.
Michael Stimson 2016 년

아! 이메일이 작동합니다. 이메일 프로그램을 끌 수 있습니다.
Aaron

5
Rube Goldberg (sp?)와 같은 솔루션이 가장 적합하다고 생각합니다. 모델이 완성되면 기계식 컴퓨터 암이 트랩 도어에 부딪쳐 공을 풀어 얼굴에 젖은 수건을 떨어 뜨립니다.
모르는 경우

답변:


18

나는 Aarons가 대답하는 것을 정말로 좋아하지만 더 간단하고 로컬 인 것이 있습니다.

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"])

하위 프로세스 모듈을 사용하면 Windows Media Player에서 파일을 열 수 있습니다.

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])

물론 샘플 음악은 잠을 잘 수 있도록 자명종 소리 와 같은 것이 더 적합 할 수 있습니다.

그러나 물론 그것은 너무 간단 하여 두 가지 모두를 할 있습니다. Aarons 코드의 끝 부분에 고정하십시오.


1
훌륭한 아이디어! 이것은 또한 스크립트 도구로 쉽게 통합 될 수 있습니다.
Aaron

2
이 스크립트 아이디어를 좋아하십시오. 내셔널 지오그래픽 (National Geographic) 테마 음악 과 같은 mp3 또는 세계 어디에서 카르멘 샌디에고 (Carmen Sandiego ) 같은 음악을 제안하고 싶지만 , 저에게는 조금 괴짜 일 수 있습니다.
Erica

모든 사람의 음악 취향이 다릅니다. 시끄럽고 성가신 노래를 선택하여 관심을 끌 가능성이 높았습니다. Valkyries의 비행은 당신이 잠을 잘 수 없다면 훌륭한 선택이 될 것입니다. 당신이 정말로 예리한한다면 당신은 재생할 수있는 파일의 매개 변수에 넣고는 같은 중요한 지점에서 짧은 톤으로 다시보고 얻을 수있는 삶의 증거
마이클 스팀슨

그리고 다시, 나는 성가신 경고음을내는 1998 AML로 당신의 대답을 선점했습니다 ;)
Stephen Lead

Haha @StephenLead, ArcInfo에서 거의 모든 것이 성가신 경고음을 냈습니다. 걸어서 커피를 마시고 신호음이 계속 나는 과정을 알 수 있습니다. 이것은 물론 시스템 스피커가 설치되어 있다고 가정합니다.
Michael Stimson 23

16

모델이 완성되면 이메일을 보내면 어떨까요? 첨부 된 Python 스크립트를 통해 전송 된 이메일을받을 때 신호음이 들리도록 휴대폰을 설정하십시오. 이는 ModelBuilder에서 스크립트 도구로 실행되도록 설계되었습니다. 스크립트 도구 사용에 익숙하지 않은 경우 다음 지시 사항을 따르십시오 . 이것이 Gmail과 작동하도록 구성되어 있지 마십시오. 이 도구는 다음과 같이 작동하도록 설계되었습니다 (bufferedPoints 변수 및 sendEmail 스크립트 도구 첨부 전제 조건 참고).

여기에 이미지 설명을 입력하십시오


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)

스크립트 도구 작성을위한 지시 사항 :

스크립트 작성

  1. 유휴 > 파일> 새 창 열기
  2. 이 게시물의 스크립트를 새 창에 복사하여 붙여 넣기
  3. 다른 이름으로 저장> "SendEmail.py"

스크립트 도구 만들기

  1. 폴더를 마우스 오른쪽 버튼으로 클릭하고> 새로 작성> 도구 상자 (여기서 스크립트 도구가있는 위치)
  2. 도구 상자> 추가> 스크립트 ...를 마우스 오른쪽 단추로 클릭하십시오.
  3. 이름, 레이블, 설명을 입력하고 "상대 경로 저장 ..."을 확인하십시오.
  4. 다음 조회
  5. "SendEmail.py"를 생성 한 스크립트를 추가하십시오
  6. 다음 조회
  7. 첨부 된 그림과 같이 정확하게 매개 변수를 입력하십시오.
  8. 히트 마무리
  9. 도구 상자에서 새 도구를 찾아 ModelBuilder의 다른 도구처럼 사용하십시오.

여기에 이미지 설명을 입력하십시오


1
@ Michael Miles-Stimson Funny 우연의 일치, 더 이상 Aaron이 너무 많지 않습니다. 이 스크립트 도구는 전자 메일 서비스를 통해 직접 작동하며 전망과 무관합니다. 그러나 Outlook에서 전자 메일을 읽을 수 있고 Outlook을 통해 전자 메일을받을 때 전화기에서이를 알릴 수 있으면 제대로 작동합니다.
Aaron

1
나는 아론과 함께 일한다. 그는 시원하다. 내가 언급 된 보내는 전자 메일 기본적으로 나는에서 .. 메시지가 자신을 이메일로 전송 될 것입니다, 사무실 컴퓨터에서 전송 및 읽기 / VPN에 집에있는 컴퓨터에 통지합니다. 이메일이 들어 오면 소리를 재생하도록 Outlook을 구성 할 수 있습니다.
Michael Stimson

1
확인. 이것은 매우 유망합니다! 실제 이메일 주소를 어디에 둘지 잘 모르겠습니다. "gmail_user"라는 문구 대신 사용합니까? 아니면 변수입니까? "sys.argv [#]"는 무엇입니까? 내가 정보를 어디에 두었습니까?
Aaron

1
@Aaron sys.argv는 명령 줄에서 Python 스크립트에 전달 된 인수를 포함하는 목록입니다. arcpy.GetParameterAsText ( i ) 를 사용하는 것과 같습니다.
om_henners

3
누군가에게 도움이된다면 @Aaron의 답변을 래퍼로 사용하여 스크립트의 성공 또는 실패를 알리는 방법을 보여주는 예제 요점 을 작성했습니다.
om_henners 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.