인터넷에 ‘함수 종료 명령어’로 서칭을 하면 대부분, sys.out이나 quit을 알려준다.
그런데 이 함수들을 써 버리면, 스레드 전체가 정지 해 버린다.
즉, 프로그램이 멈춰 버린다.
이번에 구현한 프로그램은 바로 찍은 스크린샷을 이용하여 그 사진을 기준으로 클릭을 해주는 프로그램이다.
스크린샷을 찍기 위해서는 좌표를 알아야 하고, 이 좌표를 구하기 위한 좌표를 찍기 위한 버튼을 대기 하기 위해서는 반복문(loop)을 돌려야 한다.
위 이미지 처럼 바로 스크린샷을 찍은 다음 등록한 매크로 단축키를 누르면, 해당 이미지를 서치하여 글자를 복사 한 뒤 엑셀로 복사 붙이기 한다.
A~ 그냥 직접하면 되지 뭣하러 매크로를 돌려요?
예시로는 저렇게 만들었지만, 저것을 응용한다면, 몇 백장의 상호명이나 기타 한글의 내용을 엑셀로 옮길 수 있다.
간단히 설명하자면,
2021.07.02 - [각 종 it/파이썬, 업무자동화 RPA] - 아래한글 누름틀 vs 메일머지.... 파이썬 없이 엑셀 데이터를 아래한글로 ㄱㄱㄱ
역메일머지 느낌?
필자는 건축물대장 다운 받을 때도 사용한다.
뭔 확인 버튼이 많은지... pdf로 저장 할 때마다 저장 버튼도 눌러야 한다.
2021.06.15 - [잡's생각/신재생에너지 & 전기 & 가스] - 건축물대장 뽑을 때는 정부24 < 세움터(건축행정시스템)
그나마 세움터가 정부 24보다 인터페이스가 깔끔하고 편의성이 높기는 한데, 그래도 조금 더 편하고자 만들었다.
오늘은 함수종료 명령어 이야기를 하자.
사실 앞서 언급했지만, 먼저 스크린샷 부터 찍고 매크로를 지정해야 한다.
그런데, 스크린샷 스레드를 계속 돌릴 수는 없지 않은가?
그렇담 새롭게 만든 스크린샷 함수는 정지를 해야 하는데,
이와 관련 된 명령어로는 return, pass, continue, break 등 여러가지가 있다.
근디 님은 이 명령어 차이를 앎?
솔직히 필자는 관심이 없었다.
걍 움직임에 관심이 있었지 마무리에는 그 때 그 때 마다 필요한 명령어를 사용했다.
이 때문에 특정버튼을 누르면
멈추는데 애를 먹었다.
처음에는 while문에 특정 버튼 is none을 사용하여 버튼이 눌리지 않으면 루프를 멈춰라 이 생각까지 했다면 말 다했지 뭐.
여튼 아주 쉽게, 비교 해 가며 설명 하겠다.
- return과 pass의 차이 : pass는 거의 무의미한 명령어라 보면 된다. 즉, 클래스를 이용 해 함수를 만들기는 했는데 뭐 걍 뽀대용인데, 그런데 비워 둘 수는 없을 때 pass를 사용한다. 그에 반면 return은 함수정지명령어다. 즉 어떤 위치에 있던 이 구문만 작동하면 함수가 정지한다. 단, 돌고 있는 함수만 해당한다. 함수가 돌지 않았다면 애초에 이 명령어를 작동해도 연결 된 함수는 정지 하지 않는다.
- continue와 break의 차이 : 특정 루프 안에 컨티뉴가 등장하면, 그 다음 주문을 실행되지 않는다. 하지만 그렇다고 루프가 멈춘다는 것이 아니다. 루프는 계속 돌 되 continue 이후의 명령어는 무시 된다는 것이다. 그에 반면 break는 그 루프를 빠져 나온다.
이것이 return과 break의 차이다.
return은 함수 전체를 파괴하는 명령어고, break는 while이나 for in 같은 루프를 파괴하는 역할을 한다.
그렇다면, 필자는 어떤 명령어를 사용하였는가???
그런데... 생각 해 보니, 스크린샷을 찍는 것보다 좌표를 찍는게 더 좋지 않을까....
pyautogui의 이미지 찾기 기능 중 훌륭한 점은 그 이미지가 나올 때까지 기다렸다가 move to하거나 click한다는 것!
특히나 인터넷 같이 로딩이 긴 매크로 때는 편하다.
솔까말 단순히 좌표 찍은 매크로로, g매크로도 있는데 뭣하러 이걸 구현했겠는가?
[ZI유틸] - G매크로 다운(다운로드+깔끔한 사용법) 최종본! : 네이버 블로그 (naver.com)
#태양광 상담은(010-2668-3897)...
RECENT COMMENT