HOME > 상세정보

상세정보

파이썬 프로그래밍으로 지루한 작업 자동화하기

파이썬 프로그래밍으로 지루한 작업 자동화하기 (26회 대출)

자료유형
단행본
개인저자
Sweigart, Al
단체저자명
트랜지스터팩토리, 역
서명 / 저자사항
파이썬 프로그래밍으로 지루한 작업 자동화하기 / 알 스웨이가트 지음 ; 트랜지스터팩토리 옮김
발행사항
서울 :   스포트라잇북,   2017  
형태사항
514 p. : 삽화 ; 24 cm
원표제
Automate the boring stuff with Python : practical programming for total beginners
ISBN
9791187431046
일반주기
프로그래밍 기초와 전방위적인 활용을 한 권으로 쏠쏠하게 배울 수 있는 놀라운 가이드  
부록: A. 타사 모듈 설치, B. 프로그램 실행하기, C. 연습 문제 해답  
일반주제명
Python (Computer program language) Computer programming
000 00000cam c2200205 c 4500
001 000045905753
005 20170517100841
007 ta
008 170516s2017 ulka 000c kor
020 ▼a 9791187431046 ▼g 13560
035 ▼a (KERIS)BIB000014431743
040 ▼a 211044 ▼c 211044 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b P999 2017z3
100 1 ▼a Sweigart, Al ▼0 AUTH(211009)139372
245 1 0 ▼a 파이썬 프로그래밍으로 지루한 작업 자동화하기 / ▼d 알 스웨이가트 지음 ; ▼e 트랜지스터팩토리 옮김
246 1 9 ▼a Automate the boring stuff with Python : ▼b practical programming for total beginners
260 ▼a 서울 : ▼b 스포트라잇북, ▼c 2017
300 ▼a 514 p. : ▼b 삽화 ; ▼c 24 cm
500 ▼a 프로그래밍 기초와 전방위적인 활용을 한 권으로 쏠쏠하게 배울 수 있는 놀라운 가이드
500 ▼a 부록: A. 타사 모듈 설치, B. 프로그램 실행하기, C. 연습 문제 해답
650 0 ▼a Python (Computer program language)
650 0 ▼a Computer programming
710 ▼a 트랜지스터팩토리, ▼e
900 1 0 ▼a 스웨이가트, 알, ▼e
945 ▼a KLPA

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.133 P999 2017z3 등록번호 111772729 도서상태 대출중 반납예정일 2017-12-07 예약 예약가능 R 서비스 M
No. 2 소장처 세종학술정보원/과학기술실/ 청구기호 005.133 P999 2017z3 등록번호 151335534 도서상태 대출가능 반납예정일 예약 서비스
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.133 P999 2017z3 등록번호 111772729 도서상태 대출중 반납예정일 2017-12-07 예약 예약가능 R 서비스 M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.133 P999 2017z3 등록번호 151335534 도서상태 대출가능 반납예정일 예약 서비스

컨텐츠정보

책소개

파이썬 프로그래밍 기초와 함께 꼭 필요하지만 너무나 단순하고 지루한 작업을 자동화할 수 있는 방법을 소개한다. 단계별 학습을 통해 배우고 실전 프로젝트를 통해 프로그램을 더욱 향상시키며 비슷한 자동화 작업에 활용할 수 있다.

‘파이썬 기초’에서는 표현식, 가장 기본적인 파이썬 명령, 코드를 실험하기 위해 파이썬 대화형 쉘 소프트웨어를 사용하는 방법을 다루며, 파이썬으로 문자열을 어떻게 조작할 수 있는지와 텍스트 파일의 내용을 읽고 정보를 하드 드라이브에 파일로 저장할 수 있는 방법도 수록하고 있다. 이를 따라 직접 참여해 보면, 사람보다 훨씬 빨리 다수의 파일을 복사, 이동, 이름 바꾸기 할 수 있으며, 다양한 버그도 찾을 수 있다.

‘웹 스크랩’에서는 자동으로 웹 페이지를 다운로드하고 정보를 분석할 수 있는 프로그램을 작성하는 방법을, ‘엑셀 스프레드시트 다루기’는 엑셀 스프레드시트를 직접 읽을 필요 없이 프로그램으로 조작하는 방법을 다룬다.

컴퓨터가 특정한 시각에 임무를 수행하도록 예약하거나 전자메일과 문자 메시지를 보낼 수 있으며, JPEG 또는 PNG 파일과 같은 이미지를 프로그램으로 조작할 수도 있고, 마우스와 키보드까지도 프로그램으로 제어할 수 있다.

프로그래밍 기초와 전방위적인 활용을 한 권으로 배울 수 있는 놀라운 가이드
컴퓨터는 수많은 작업을 위해 구성할 수 있는 스위스 나이프와도 같다. 그러나 많은 사람들은 반복적인 작업을 단지 몇 초 만에 끝낼 수 있다는 사실을 모른 채 마우스와 키보드를 잡고 여러 시간을 보내고 있다. 이 책은 파이썬 프로그래밍 기초와 함께 꼭 필요하지만 너무나 단순하고 지루한 작업을 자동화할 수 있는 방법을 배우게 해 준다. 수작업으로 몇 시간이 걸리는 일을 단 몇 분만에 해치우는 파이썬 프로그래밍으로 다음과 같은 일을 할 수 있다.

-한 개 혹은 여러 개의 파일에서 텍스트를 찾는다. -파일이나 폴더를 만들고, 업데이트하고, 이동하고, 이름을 바꾼다. -웹에서 검색을 하고 온라인 콘텐츠를 다운로드한다. -아무리 큰 엑셀 시트라고 해도 데이터를 갱신하고 형식을 바꿀 수 있다. -PDF를 나누고, 붙이고, 워터마크를 넣고, 암호화한다. -이메일과 문자메시지로 알림을 보내거나 온라인 양식을 채운다. -이미지를 조작하거나 키보드나 마우스를 제어한다.

단계별 학습을 통해 배우고 실전 프로젝트를 통해 프로그램을 더욱 향상시키며 비슷한 자동화 작업에 활용할 수 있다. 이제 지루한 일에 시간을 낭비하지 말고 귀찮은 일들은 컴퓨터에게 맡기자.

파이썬을 배우자. 일을 쉽게 해치우자.
파이썬을 똑똑하게 활용하는 방법이 이 책에 있다

제1장 ‘파이썬 기초’에서는 표현식, 가장 기본적인 파이썬 명령, 코드를 실험하기 위해 파이썬 대화형 쉘 소프트웨어를 사용하는 방법을 다룬다. 제2장 ‘흐름 제어’에서는 프로그램이 어떤 명령을 실행할 것인지를 결정함으로써 코드가 여러 조건에 지능적으로 대응하도록 만드는 방법을 설명한다. 제3장 ‘함수’ 부분은 내가 원하는 함수를 직접 정의함으로써 코드를 좀 더 관리하기 좋은 덩어리로 구성할 수 있는 방법을 설명한다.

제4장 ‘리스트’에서는 리스트 데이터 유형을 소개하고 데이터를 구성하는 방법을 설명한다. 제5장 ‘사전 그리고 데이터 구조화’는 사전 데이터 유형을 소개하고 데이터를 구성하는 더 강력한 방법을 보여준다. 제6장 ‘문자열 조작하기’에서는 텍스트 데이터(파이썬에서는 문자열(string)이라고 부른다)로 작업하는 방법을 다룬다.

제7장 ‘정규표현식을 사용한 패턴 대조’는 파이썬으로 문자열을 어떻게 조작할 수 있는지, 그리고 정규표현식으로 텍스트 패턴을 검색하는 방법을 다룬다. 제8장 ‘파일 읽기 및 쓰기’에서는 프로그램이 텍스트 파일의 내용을 읽고 정보를 하드 드라이브에 파일로 저장할 수 있는 방법을 설명한다. 제9장 ‘파일 조직화하기’는 파이썬이 사람보다 훨씬 빨리 다수의 파일을 복사, 이동, 이름 바꾸기 하는 방법을 보여준다. 또한 파일을 압축하거나 압축을 해제하는 방법을 설명한다.

제10장 ‘디버깅’은 파이썬의 다양한 버그 찾기 방법 및 및 버그 수정 도구를 사용하는 방법을 보여준다. 제11장 ‘웹 스크랩’에서는 자동으로 웹 페이지를 다운로드하고 정보를 분석할 수 있는 프로그램을 작성하는 웹 스크랩(web scrap) 방법을 보여준다. 제12장 ‘엑셀 스프레드시트 다루기’는 엑셀 스프레드시트를 직접 읽을 필요 없이 프로그램으로 조작하는 방법을 다룬다. 수백 수천 개의 내용을 담고 있는 여러 개의 문서를 분석해야 할 때 도움이 될 것이다.

제13장 ‘PDF 및 워드 문서 작업’에서는 워드 및 PDF 문서를 프로그램으로 읽는 방법을 설명한다. 제14장 ‘CSV 파일 및 JSON 데이터 작업’에서는 CSV 및 JSON 파일과 문서를 프로그램으로 조작하는 방법을 설명한다. 제15장 ‘시간 지키기, 작업 예약하기 및 프로그램 실행시키기’는 파이썬 프로그램이 시간과 날짜를 다루는 방법, 그리고 컴퓨터가 특정한 시각에 임무를 수행하도록 예약하는 방법을 설명한다. 또한 파이썬 프로그램이 파이썬으로 만들지 않은 프로그램을 실행할 수 있는 방법을 보여준다.

제16장 ‘전자메일 및 문자 메시지 전송’은 사용자를 대신하여 전자메일과 문자 메시지를 보낼 수 있는 프로그램을 작성하는 방법을 설명한다. 제17장 ‘이미지 조작’에서는 JPEG 또는 PNG 파일과 같은 이미지를 프로그램으로 조작하는 방법을 설명한다. 제18장 ‘키보드와 마우스 제어 및 GUI 자동화’는 마우스 클릭과 키보드 누르기를 자동화하기 위하여 마우스와 키보드를 프로그램으로 제어하는 방법을 설명한다.


정보제공 : Aladin

저자소개

알 스웨이가트(지은이)

소프트웨어 개발자이자 기술서적 저자로 샌프란시스코에 살며 어린이와 성인들에게 프로그래밍을 가르치고 있다. 좋아하는 프로그래밍 언어는 파이썬이며, 이를 위한 여러 가지 오픈소스 모듈을 개발했다. , , 등 초보자를 위한 파이썬 관련 책을 여러 권 집필했다. 그의 고양이는 무게가 6.35킬로그램이다.

트랜지스터팩토리(옮긴이)

전문 번역 및 집필 집단이다. 경제경영, 과학, IT를 비롯하여 아동서 분야에 이르기까지 경계 없이 넘나들며 창작과 증폭 활동을 벌이고 있다.

정보제공 : Aladin

목차

머리말 : 시작하기 전에 알아야 할 것들 
이 책은 누구를 위한 것인가? | 프로그래밍이란 무엇인가? | 파이썬이란 무엇인가? | 프로그래머는 수학을 많이 알 필요가 없다 | 프로그래밍은 창조적인 활동이다 | 파이썬 다운로드 및 설치하기 | IDLE 실행하기 | 대화형 쉘 | 도움말을 찾는 방법 | 프로그래밍에 관한 질문을 영리하게 하는 방법 

제1부. 파이썬 프로그래밍 기초 
1장_ 파이썬 기초 
대화형 쉘에 표현식 입력하기 | 오류도 걱정 없다! | 정수, 부동 소수점 및 문자열 데이터 유형 | 문자열 연결 및 복제 | 변수에 값 저장하기 | 할당문 | 변수 이름 | 첫 번째 프로그램 | 스팸의 유래 | 프로그램 해부하기 | 주석 | print() 함수 | input() 함수 |	사용자 이름 출력하기 | The len() 함수 | str(), int() 및 float() 함수 | 텍스트 및 숫자의 동일함 

2장_ 흐름 제어 
부울 값 | 비교 연산자 | ==와 = 연산자의 차이 | 부울 연산자 | 이진 부울 연산자 | not 연산자 | 부울 및 비교 연산자 섞어 쓰기 | 흐름 제어 요소 | 조건 | 코드 블록 | 프로그램 실행 | 흐름 제어문 | if 문 | else 문 | elif 문 | while 루프문 | 성가신 while 루프 | break 문 | continue 문 | 무한 루프에 갇혔는가? | True로 간주되는 값과 False로 간주되는 값 | for 루프와 range() 함수 | while 루프로 같은 일 하기 | range()에 시작값, 종료값, 증감값 지정하기 | 모듈 가져오기 | from import 문 | sys.exit() 함수로 프로그램을 일찍 끝내기 

3장_ 함수 
def 문과 매개변수 | 반환값과 return 문 | None 값 | 키워드 매개변수, 그리고 print() | 지역 및 전역 범위 | 지역 변수는 전역 범위에서 사용할 수 없다 | 지역 범위는 다른 지역 범위의 변수를 사용할 수 없다 | 같은 이름을 가진 지역 및 전역 변수 | global 문 | 함수는 “블랙박스”와도 같다 | 예외 처리 | 짧은 프로그램 : 숫자 맞추기 | 연습 프로젝트 : 콜라츠 수열 | 입력값 검증 

4장_ 리스트 
리스트 데이터 유형 | 인덱스로 리스트에서 개별 값 얻기 | 음수 인덱스 | 슬라이스로 부분 리스트를 얻기 | len()으로 리스트 길이 얻기 | 인덱스로 리스트 안의 값 변경하기 | 리스트 병합 및 리스트 복제 | del 문으로 리스트에서 값 제거하기 | 리스트로 작업하기 | 리스트와 함께 루프 사용하기 | in 및 not in 연산자 | 다중 할당 기법 | 증강 할당 연산자 | 메소드 | index() 메소드로 리스트 안에서 값 찾기 | append() 및 insert() 메소드로 리스트에 값 추가하기 | remove()로 리스트에서 값 제거하기 | sort() 메소드로 리스트 안의 값 정렬하기 | 예제 프로그램 : 리스트로 매직 8 볼 만들기 | 파이썬에서 들여쓰기 규칙의 예외 | 리스트와 비슷한 유형 : 문자열과 튜플 | 변경 가능 또는 불가능한 데이터 유형 | 튜플 데이터 형식 | list()와 tuple() 함수로 유형 변환하기 | 참조 | 참조 전달 | copy 모듈의 copy()와 deepcopy() 함수 | 연습 프로젝트 : 쉼표 코드 | 문자 그림 그리드 

5장_ 사전 및 구조화 데이터 
사전 데이터 유형 | 사전과 리스트 | The keys(), values(), 그리고 items() 메소드 | 키 또는 값이 사전에 존재하는지 확인하기 | The get() 메소드 | The setdefault() 메소드 | 보기 좋게 출력하기 | 실제 세계의 대상을 모델링한 데이터 구조 만들기 | 틱택토 보드 | 중첩된 사전 및 리스트 | 연습 프로젝트 | 판타지 게임 창고 | 판타지 게임의 창고를 위한, 리스트를 사전으로 바꾸는 함수

6장_ 문자열 조작하기 
문자열 다루기 | 문자열 리터럴 | 겹따옴표 | 이스케이프 문자 | 원시 문자열 | 세겹 따옴표를 사용하는 여러 줄에 걸친 문자열 | 여러 줄 주석 | 문자열 인덱스 및 슬라이스 | 문자열에 in 및 not in 연산자 사용하기 | 쓸모 있는 문자열 메소드 | upper(), lower(), isupper(), islower() 문자열 메소드 | isX 문자열 메소드 | startswith()와 endswith() 문자열 메소드 | join() 및 split() 문자열 메소드 | rjust(), ljust(), center() 메소드로 텍스트 정렬하기 | strip(), rstrip(), lstrip()으로 공백 없애기 | pyperclip 모듈로 문자열 복사 및 붙여넣기 | IDLE 바깥에서 파이썬 스크립트 실행하기 | 프로젝트 : 암호 보관함 | 이 장의 프로젝트 | 1단계 : 프로그램 설계 및 데이터 구조 | 2단계 : 명령행 매개변수 처리하기 | 3단계 : 올바른 암호 복사하기 | 프로젝트 : 위키 마크업에 글머리 기호 추가하기 | 1단계 : 클립보드에서 복사하고 붙여 넣기 | 2단계 : 텍스트의 줄들을 분할하고 별표 붙이기 | 3단계 : 수정된 줄들을 연결하기 | 연습 프로젝트 : 표 출력기 


제2부. 작업 자동화하기 
7장_ 정규표현식으로 패턴 대조하기 
정규표현식 없이 텍스트 패턴 찾기 | 정규표현식으로 텍스트 패턴 찾기 | 정규식 객체 만들기 | 원시 문자열을 re.compile()에 전달하기 | Regex 객체 대조 | 정규표현식 일치 다시 살펴보기 | 정규표현식을 사용한 더 많은 패턴 대조 | 괄호로 묶기 | 파이프로 여러 그룹 대조하기 | 물음표와 선택적 대조 | 별표로 0개 또는 그 이상과 일치시키기 | 더하기 기호로 하나 또는 그 이상과 일치시키기 | 중괄호로 특정 횟수 반복 일치시키기 | 최대 일치와 최소 일치 | findall() 메소드 | 문자 클래스 | 사용자 정의 문자 클래스 만들기 | 캐럿 및 달러 기호 글자 | 와일드카드 문자 | 점-별표로 모든 것을 일치시키기 | 점 문자로 줄바꿈 문자와 일치시키기 | 정규식 기호 복습하기 | 대소문자를 구분하지 않고 일치시키기 | sub() 메소드로 문자열 대체하기 | 복잡한 정규표현식 관리하기 | IGNORECASE, re.DOTALL, re.VERBOSE 결합하기 | 프로젝트 : 전화번호와 이메일 주소 추출하기 | 1단계 : 전화번호에 대한 정규식 만들기 | 2단계 : 이메일 주소에 대한 정규식 만들기 | 3단계 : 클립보드 텍스트에서 일치하는 모든 것을 찾기 | 4단계 : 일치하는 텍스트들을 하나의 문자열로 클립보드에 붙이기 | 프로그램 실행하기 | 비슷한 프로그램에 대한 아이디어 | 연습 프로젝트 : 암호가 강력한지 확인하기 | strip()의 정규식 버전 

8장_ 파일 읽고 쓰기 
파일과 파일 경로 | 윈도우에서는 백슬래시, OS X 및 리눅스에서는 슬래시 | 현재 작업 디렉토리 | 상대 경로 대 절대 경로 | 현재 작업 디렉토리 상대 경로 절대 경로 | os.makedirs()에 새 폴더 만들기 | os.path 모듈 | 절대 및 상대 경로 다루기 | 파일 크기 및 폴더 내용 찾기 | 경로 유효성 확인 | 파일의 읽기/쓰기 프로세스 | open() 함수를 사용하여 파일 열기 | 파일의 내용을 읽기 | 파일에 쓰기 | shelve 모듈로 변수 저장하기 | pprint.pformat() 함수로 변수 저장하기 | 프로젝트 : 무작위로 퀴즈 파일 만들기 | 1단계 : 사전에 문제 데이터 저장하기 | 2단계 : 문제 파일을 만들고 문제의 순서를 바꾸기 | 3단계 : 답 문항 만들기 | 4단계 : 내용을 문제와 정답 파일에 기록하기 | 프로젝트 : 멀티 클립보드 | 1단계 : 주석 및 선반 설정 | 2단계 : 키워드로 클립보드의 내용 저장하기 | 3단계 : 키워드의 목록 및 키워드의 내용 읽어 오기 | 연습 프로젝트 : 멀티 클립보드 확장 | 매드 립스 | 정규식 검색 

9장_ 파일 체계화하기 
shutil 모듈 | 파일 폴더 복사하기 | 파일이나 폴더 이동 및 이름 바꾸기 | 파일 및 폴더 완전히 지우기 | send2trash 모듈로 안전하게 지우기 | 디렉토리 트리 돌아다니기 | zipfile 모듈로 파일 압축하기 | ZIP 파일 읽기 | ZIP 파일에서 추출하기 | ZIP 파일을 만들고 추가하기 | 프로젝트 : 미국식 날짜 파일 이름을 유럽식 날짜로 바꾸기 | 1단계 : 미국식 날짜에 대한 정규식 만들기 | 2단계 : 파일 이름에서 날짜 부분 확인하기 | 3단계 : 새 파일 이름을 구성하고, 파일의 이름을 바꾸기 | 비슷한 프로그램에 대한 아이디어 | 프로젝트 : zip 파일에 폴더 백업하기 | 1단계 : ZIP 파일의 이름 정하기 | 2단계 : 새 ZIP 파일 만들기 | 3단계 : 디렉토리 트리를 돌아다니면서 ZIP 파일에 추가하기 | 비슷한 프로그램에 대한 아이디어 | 연습 프로젝트 : 선택적 복사 | 불필요한 파일 지우기 | 간격 채우기 

10장_ 디버깅 
예외 일으키기 | 역추적 내용을 문자열로 얻기 | 단언 | 신호등 시뮬레이션에서 단언 기능 사용하기 | 단언 구문 비활성화하기 | 로깅 | logging 모듈 사용하기 | print()로 디버그하지 말라 | 로깅 수준 | 로깅 비활성화하기 | 파일에 로깅하기 | IDLE의 디버거 | Go (가기) | Step (한 단계 실행) | Over (한 단계 넘어가기) | Out (빠져 나가기) | Quit (끝) | 숫자 더하기 프로그램 디버깅하기 | 중지 지점 | 연습 프로젝트 : 디버깅 동전 던지기 

11장_ 웹 스크랩 
프로젝트 : webbrowser 모듈과 mapIt.py | 1단계 : URL 알아내기 | 2단계 : 명령행 매개변수 처리하기 | 3단계 : 클립보드의 내용을 처리하고 브라우저 실행하기 | 비슷한 프로그램에 대한 아이디어 | requests 모듈로 웹에서 파일 다운로드하기 | requests.get() 함수로 웹 페이지 다운로드 하기 | 오류 검사 | 하드 드라이브에 다운로드한 파일 저장하기 | 유니코드 인코딩 | HTML | HTML 학습을 위한 자료 | 간단히 살펴보기 | 웹 페이지의 소스 HTML 보기 | 브라우저의 개발자 도구 열기 | HTML 구문을 분석하기 위해 정규표현식을 사용하지 말라 | HTML 엘리먼트를 찾기 위해 개발자 도구 사용하기 | BeautifulSoup 모듈로 HTML 구문 분석하기 | HTML에서 BeautifulSoup 개체 만들기 | select() 메소드로 엘리먼트 찾기 | 엘리먼트의 속성에서 데이터 가져오기 | 프로젝트 : “운 좋은 예감(I’m Feeling Lucky)” 구글 검색 | 1단계 : 명령행 매개변수를 얻고 검색 페이지 요청하기 | 2단계 : 모든 결과 찾기 | 3단계 : 각 결과를 웹 브라우저로 열기 | 비슷한 프로그램에 대한 아이디어 | 프로젝트 : XKCD 만화 모두 다운로드하기 | 1단계 : 프로그램 설계 | 2단계 : 웹 페이지 다운로드 | 3단계 : 만화 이미지를 찾고 다운로드 하기 | 4단계 : 이미지를 저장하고 이전 만화 찾기 | 비슷한 프로그램에 대한 아이디어 | 셀레늄 모듈로 브라우저 제어하기 | 셀레늄으로 브라우저 제어 시작하기 | 페이지에서 엘리먼트 찾기 | 페이지 클릭하기 | 양식을 작성하고 제출하기 | 특수 키를 보내기 | 브라우저 버튼 클릭하기 | 셀레늄에 대한 자세한 정보 | 연습 프로젝트 : 명령행에서 이메일 보내기 | 이미지 사이트 다운로더 | 2048 | 링크 확인 

12장_ 엑셀 스프레드시트로 작업하기 
엑셀 문서 | openpyxl 모듈 설치하기 | 엑셀 문서 읽기 | OpenPyXL로 엑셀 문서 열기 | 통합 문서에서 시트 얻기 | 시트에서 셀 얻기 | 열 이름의 글자와 숫자 사이 변환 | 시트에서 행과 열 얻기 | 통합 문서, 시트, 셀 | 프로젝트 : 스프레드시트에서 데이터 읽기 | 1단계 : 스프레드시트 데이터 읽기 | 2단계 : 데이터 구조 채우기 | 3단계 : 결과를 파일로 만들기 | 비슷한 프로그램에 대한 아이디어 | 엑셀 문서 만들기 | 엑셀 문서 작성 및 저장 | 시트를 만들고 없애기 | 셀에 값을 쓰기 | 프로젝트 : 스프레드시트 업데이트하기 | 1단계 : 업데이트할 정보의 데이터 구조 정하기 | 2단계 : 모든 행을 확인하고 잘못된 가격 변경하기 | 비슷한 프로그램에 대한 아이디어 | 셀의 글꼴 스타일 설정하기 | Font 객체 | 수식 | 행과 열을 조절하기 | 행 높이와 열 너비 설정하기 | 셀 병합 및 분할 | 틀 고정 | 차트 | 연습 프로젝트 : 곱셈표 만들기 | 빈 행 넣기 | 스프레드시트 셀 반전시키기 | 텍스트 파일을 스프레드시트로 | 스프레드시트를 텍스트 파일로 

13장_ PDF 및 Word 문서로 작업하기 
PDF 문서 | 문제를 안고 있는 PDF 형식 | PDF 파일에서 텍스트 추출하기 | PDF 파일의 암호 풀기 | PDF 파일 만들기 | 페이지 복사하기 | 페이지 회전하기 | 페이지 덮어쓰기 | PDF 파일을 암호화하기 | 프로젝트 : 많은 PDF 파일로부터 지정한 페이지를 결합하기 | 1단계 : 모든 PDF 파일 찾기 | 2단계 : 각각의 PDF를 열기 | 3단계 : 각 페이지 추가하기 | 4단계 : 결과를 저장하기 | 비슷한 프로그램에 대한 아이디어 | 워드 문서 | 워드 문서 읽기 | .docx 파일에서 전체 텍스트 얻기 | Paragraph 및 Run 객체 스타일 바꾸기 | 워드 문서를 기본이 아닌 스타일로 만들기 | Run 속성 | 워드 문서 저장하기 | 제목 추가 | 줄 및 페이지 나누기 추가하기 | 그림 추가하기 | 연습 프로젝트 | PDF 편집증 | 워드 문서로 고객 초대장 만들기 | ‘주먹구구식’ PDF 암호 깨기	

14장_ CSV 파일 및 JSON 데이터로 작업하기 
csv 모듈 | Reader 개체 | for 루프 안에서 Reader 객체로부터 데이터 읽기 | Writer 객체 | delimiter 및 lineterminator 키워드 매개변수 | 프로젝트 : CSV 파일에서 머리말 제거하기 | 1단계 : 루프로 각 CSV 파일을 거쳐가기 | 2단계 : CSV 파일로부터 읽기 | 3단계 : 첫 행을 없앤 CSV 파일을 저장하기 | 비슷한 프로그램에 대한 아이디어 | JSON 및 API | json 모듈 | loads() 함수로 JSON을 읽기 | dumps() 함수로 JSON 만들기 | 프로젝트 : 현재 날씨 정보 가져오기 | 1단계 : 명령행 매개변수로부터 위치를?? 가져오기 | 2단계 : JSON 데이터 다운로드하기 | 3단계 : JSON 데이터를 읽어 들이고 날씨를 출력하기 | 비슷한 프로그램에 대한 아이디어 | 연습 프로젝트 : 엑셀-CSV 변환기 

15장_ 시간 관리, 작업 예약 그리고 다른 프로그램 실행 
time 모듈 | time.time() 함수 | time.sleep() 함수 | 숫자 반올림하기 | 프로젝트 : 슈퍼 스톱워치 | 1단계 : 시간을 추적할 수 있도록 프로그램 구성하기 | 2단계 : 랩타임 추적 및 인쇄 | 비슷한 프로그램에 대한 아이디어 | datetime 모듈 | timedelta 데이터 유형 | 특정 날짜까지 일시 정지시키기 | datetime 객체를 문자열로 변환하기 | 문자열을 datetime 객체로 변환하기 | 파이썬의 시간 함수 정리 | 멀티스레딩 | 스레드의 대상 함수에 매개변수 전달하기 | 동시성 문제 | 프로젝트 : 멀티스레드 XKCD 다운로더 | 1단계 : 기능을 활용하기 위해 프로그램 수정하기 | 2단계 : 스레드 만들고 시작하기 | 3단계 : 모든 스레드가 종료될 때까지 기다리기 | 파이썬에서 다른 프로그램을 실행하기 | Popen()에 명령행 매개변수 전달하기 | 작업 스케줄러, launchd, 그리고 크론 | 파이썬으로 웹 사이트 열기 | 다른 파이썬 스크립트 실행하기 | 기본 응용프로그램으로 파일 열기 | 유닉스 철학 | 프로젝트 : 간단한 카운트다운 프로그램 | 1단계 : 카운트다운 | 2단계 : 사운드 파일 재생하기 | 비슷한 프로그램에 대한 아이디어 | 연습 프로젝트 : 좀 더 근사한 스톱워치 | 웹 만화 다운로드 예약하기 

16장_ 이메일 및 문자메시지 보내기 
SMTP | 이메일 보내기 | SMTP 서버에 연결하기 | SMTP 서버에 “인사”하기 | TLS 암호화 | SMTP 서버에 로그인하기 | 지메일의 응용프로그램 특정 암호 | 이메일 보내기 | SMTP 서버와 연결 끊기 | IMAP | IMAP와 이메일을 검색 또는 삭제하기 | IMAP 서버에 연결하기 | IMAP 서버에 로그인하기 | 이메일 검색하기 | 폴더 선택하기 | 검색 수행하기 | 크기 제한 | IMAPClient의 gmail_search() 메소드 사용하기 | 이메일을 가져오고 읽은 것으로 표시하기 | 원시 메시지에서 이메일 주소 얻기 | 원시 메시지로부터 본문 가져오기 | 이메일 지우기 | IMAP 서버 연결 끊기 | 프로젝트 : 회원에게 회비 납부 알림 메일 보내기 | 1단계 : 엑셀 파일 열기 | 2단계 : 모든 회비 미납 회원 찾기 | 3단계 : 맞춤형 이메일 알림 보내기 | Twilio로 문자 메시지 보내기 | Twilio 계정에 가입하기 | 문자 메시지 보내기 | 파이썬으로 문자 메시지 수신하기 | 프로젝트: “나에게 문자 보내기” 모듈 | 연습 프로젝트 : 잡일을 무작위로 할당하는 이메일 전송 프로그램 | 우산 챙기기 알려주기 | 자동 수신거부 | 이메일을 통해 컴퓨터 제어하기 

17장_ 이미지 조작하기 
컴퓨터 이미지의 기초 | 색깔 및 RGBA 값 | CMYK 및 RGB 색깔 | 좌표 및 상자형 튜플 | 필로우로 이미지 조작하기 | Image 데이터 유형으로 작업하기 | 이미지 오리기 | 이미지를 복사해서 다른 이미지에 붙이기 | 투명 픽셀 붙여넣기 | 이미지 크기 조절하기 | 이미지 회전 및 뒤집기 | 개별 픽셀 변경하기 | 프로젝트 : 로고 추가하기 | 1단계 : 로고 이미지 열기 | 2단계 : 모든 파일에 대해 루프를 돌리고 이미지를 열기 | 3단계 : 이미지 크기 조절하기 | 4단계 : 로고를 추가하고 변경 사항 저장하기 | 비슷한 프로그램에 대한 아이디어 | 이미지에 그리기 | 도형 그리기 | 점 | 선 | 직사각형 | 타원 | 다각형 | 그리기의 예 | 텍스트 그리기 | 연습 프로젝트 : 이 장 프로젝트 프로그램을 확장 및 수정하기 | 하드 드라이브에 있는 사진 폴더 색출하기 | 개인화된 지정 좌석 카드 

18장_ GUI 자동화를 통한 키보드 및 마우스 제어 
pyautogui 모듈 설치하기 | 궤도 이탈을 막기 | 로그아웃으로 모든 것을 종료시키기 | 일시 정지 및 페일세이프 | 마우스 움직임 제어하기 | 마우스 움직이기 | 마우스 위치 얻기 | 프로젝트 : “마우스가 지금 어디에 있지?” | 1단계 : 모듈 가져오기 | 2단계 : 종료 코드 및 무한 루프 설정하기 | 3단계 : 마우스 좌표를 가져오고 인쇄하기 | 마우스 상호작용 제어하기 | 마우스 클릭하기 | 마우스 드래그하기 | 마우스 스크롤하기 | 화면으로 작업하기 | 스크린샷 얻기 | 스크린샷 분석하기 | 프로젝트 : mouseNow 프로그램 확장하기 | 이미지 인식 | 키보드 제어하기 | 키보드에서 문자열 보내기 | 키 이름 | 키보드를 누르고 떼기 | 단축키 조합하기 | PyAutoGUI 함수 다시 살펴보기 | 프로젝트 : 자동 서식 작성기 | 1단계 : 각 단계의 얼개 만들기 | 2단계 : 좌표 설정하기 | 3단계 : 데이터 입력 시작 | 4단계 : 리스트 및 라디오 버튼 다루기 | 5단계 : 서식을 제출하고 기다리기 | 연습 프로젝트 : 바쁜 척하기 | 인스턴트 메신저 봇 | 게임 플레잉 봇 자습서 

부록 
타사 모듈 설치 | pip 도구 | 타사 모듈 설치하기 | 프로그램 실행하기 | 쉬뱅 라인 | 윈도우에서 파이썬 프로그램 실행하기 | OS X와 리눅스에서 파이썬 프로그램 실행하기 | 중단문을 비활성화한 상태로 파이썬 프로그램 실행하기 | 연습 문제 해답

관련분야 신착자료

Ramamurthy, Bina (2021)