Smart Python Life

한 번 배운 파이썬, 나만의 활용 스킬

- 개발자가 아니어도 도전하는 일상과 업무 자동화

광운대학교 이강성 지음, 2020, (주)프리렉

Python Rules! Life is too short, you need Python.

그 동안 다양한 내용으로 강의를 해 온 경험을 토대로, 프로그래밍 언어로 파이썬을 배우는 학생들이나 혹은 일반인들이 흥미로워할 만한 주제들을 모아 정리한 책이다. 지루한 일상적인 업무를 하면서 반복적인 작업으로 혹시 내가 기계가 된 것은 아닐까 라는 의심이 든다면 이 책을 펼쳐 들고 어떻게 업무를 자동화해야 할 지를 고민해볼 수 있을 것이다. 이 책은 파이썬 프로그래밍 언어를 일상 업무에 어떻게 적용할 수 있는지에 대한 내용을 소개하고 있으며, 이 내용을 잘 활용하면 다양한 주제에서 응용할 수 있을 것이다. 총 13개장으로 나뉘며 각 장은 다음과 같은 주제들을 다룬다.

키보드, 마우스 자동화 부터 웹 문서 정보 추출

Work 1에서는 키보드와 마우스의 자동화를 다룬다. 만일 여러분이 반복적 인 키보드와 마우스 작업에 피곤해 하고 있다면 이 부분을 참고해 수고를 덜 기 바란다. 여기서는 pyautogui 모듈을 이용하여 키보드와 마우스 작업을 자동화한다. Work 2에서는 웹 자료 수집을 다룬다. 웹에 널려 있는 자료들을 읽어내고 이미지나 압축 파일들을 내려받는 방법을 소개한다. 여기서는 특별한 인증이 필요하지 않은 공개된 자료를 대상으로 하고 있다. requests 모듈을 활용하면 일정 수준의 인증 절차를 거칠 수도 있다. Work 3에서는 수집된 웹 문서를 분석하는 방법을 다룬다. BeautifulSoup이라는 멋진 모듈을 이용하여 HTML 문서 안에 숨겨진 정보들을 추출하는 방법을 배우게 된다.

웹브라우저 자동화로 로그인 해야 하는 감춰진 정보까지 가져온다. 자동으로 웹 문서를 가져와 자료 정리를 한다면 Work 4를 참조!

Work 4에서는 웹 브라우저 자동화를 이용한 정보 추출 방법을 다룬다. 웹 브라우저를 이용하는 장점은 모든 처리를 웹 브라우저에게 맡기고 그 결과만 얻어내는 것이므로, 복잡한 인증 절차나 자바스크립트 코드 실행 같은 부분 도 문제없이 다루게 된다. 웹 브라우저 내에서 마우스 클릭이나 키보드 입력 도 자동화할 수 있다. 이 방법을 이용하면 Work 2에서 접근할 수 없었던 자료 에도 접근할 수 있게 된다. Work 56에서는 이메일을 보내고 받는 내용을 다룬다. 자동으로 첨부 파 일이 있는 이메일을 보내고, 받은 이메일 중에서 원하는 메일을 선택하고 확 인하는 방법들을 다룬다.

이메일도 자동으로 보내고, 사진 정리도 좀 해보자

Work 7에서는 파일 시스템을 다루는 방법을 소개한다. 파일과 디렉터리를 만들거나 수정하는 방법 그리고 이미 존재하는 수많은 파일 중에서 내가 원 하는 파일을 찾는 기능을 어떻게 구현하는지를 살펴본다. Work 8에서는 사진을 다루는 기본적인 방법을 익힌다. 스마트폰에 쌓여 있 는 사진들을 데스크톱에 옮기고 이들을 다양한 기준에 따라 분류하여 저장 하는 방법을 살펴본다. 더불어 사진에 약간의 텍스트 정보를 넣는 방법도 다 룬다. Work 9에서는 다양한 프로그램을 스케줄링을 통해서 자동으로 실행하고 처리하는 방법을 배운다. 주기적인 정보 처리를 원한다면 참고해볼 만한 내용 이다.

오피스 프로그램을 자동으로 다뤄보자. 엑셀에 저장된 정보를 이용해 대량의 문서 작성과 이메일 발송이 궁금하다면 Work 11을 펼쳐본다. 스캔한 PDF 문서들을 효과적으로 관리하고 싶다면 Work 12를 펼쳐본다. 스마트폰도 자동화 할 수 있다!

Work 10~12는 사무용 문서를 다루는 내용이다. Work 10은 엑셀을 다루는 방법, Work 11은 워드 문서를 다루는 방법, Work 12는 PDF 문서를 다루는 방법을 중심으로 설명한다. Work 11에서는 엑셀과 워드를 연결하여 많은 개별적 문서를 자동으로 생성하는 내용을 다루는데, 큰 규모의 행사 등을 관리하 는 데 유용하게 사용할 수 있다. Work 12에서는 PDF 문서를 다루는 다양한 방법들을 소개한다. 마지막으로 Work 13에서는 스마트폰을 컴퓨터와 유선 혹은 무선으로 연결 하고 컴퓨터에서 스마트폰의 앱을 실행시키는 등의 방법을 소개한다. 스마트 폰 화면에 나타난 정보를 컴퓨터로 읽어내는 기법도 함께 다룬다