Automate the Boring Stuff with Python
Free to read under a Creative Commons license.
“The best part of programming is the triumph of seeing the machine do something useful. Automate the Boring Stuff with Python frames all of programming as these small triumphs; it makes the boring fun.”
– Hilary Mason, Founder of Fast Forward Labs and Data Scientist in Residence at Accel
“I’m having a lot of fun breaking things and then putting them back together, and just remembering the joy of turning a set of instructions into something useful and fun, like I did when I was a kid.”
– Wil Wheaton, WIL WHEATON dot NET
Automate the Boring Stuff with Python is recommended on the Open Source Summer 2015 Reading List!
Learn to Code
If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?
In Automate the Boring Stuff with Python, you’ll learn how to use Python to write programs that do in minutes what would take you hours to do by hand-no prior programming experience required. Once you’ve mastered the basics of programming, you’ll create Python programs that effortlessly perform useful and impressive feats of automation to:
- Search for text in a file or across multiple files
- Create, update, move, and rename files and folders
- Search the Web and download online content
- Update and format data in Excel spreadsheets of any size
- Split, merge, watermark, and encrypt PDFs
- Send reminder emails and text notifications
- Fill out online forms
Step-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.
Don’t spend your time doing work a well-trained monkey could do. Even if you’ve never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python.
Note: The programs in this book are written to run on Python 3.
Table of Contents
- Chapter 0 – Introduction
- Chapter 1 – Python Basics
- Chapter 2 – Flow Control
- Chapter 3 – Functions
- Chapter 4 – Lists
- Chapter 5 – Dictionaries and Structuring Data
- Chapter 6 – Manipulating Strings
- Chapter 7 – Pattern Matching with Regular Expressions
- Chapter 8 – Reading and Writing Files
- Chapter 9 – Organizing Files
- Chapter 10 – Debugging
- Chapter 11 – Web Scraping
- Chapter 12 – Working with Excel Spreadsheets
- Chapter 13 – Working with PDF and Word Documents
- Chapter 14 – Working with CSV Files and JSON Data
- Chapter 15 – Keeping Time, Scheduling Tasks, and Launching Programs
- Chapter 16 – Sending Email and Text Messages
- Chapter 17 – Manipulating Images
- Chapter 18 – Controlling the Keyboard and Mouse with GUI Automation
- Appendix A – Installing Third-Party Modules
- Appendix B – Running Programs
- Appendix C – Answers to the Practice Questions
- How to Do PyCon (or any tech conference)
- List of CSS Selector Tutorials
- List of JSON APIs
- List of Programming Practice Sites
- List of Web Comics
- Schedulers for Windows, Mac, and Linux
About the Author
Al Sweigart is a software developer and teaches programming to kids and adults. He has written several books for beginners, including Scratch Programming Playground, Hacking Secret Ciphers with Python, Invent Your Own Computer Games with Python, and Making Games with Python & Pygame.