Automate the Boring Stuff with Python: Practical Programming for Total Beginners

Category: Programming
Author: Al Sweigart
This Month Reddit 3

About This Book

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.


by DiickBenderSociety   2019-11-17

Automate the Boring Stuff with Python: Practical Programming for Total Beginners

Wow this book looks really fun! God dang!

by sconeoftime69   2019-11-17

Hey stranger, don’t get discouraged. Everyone starts somewhere! I would highly recommend no starch press publications. They are straight forward and get you coding quickly.

Best for beginners: 1, Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming

  1. Automate the Boring Stuff with Python: Practical Programming for Total Beginners
by samort7   2019-11-17

I feel that your degree is technical enough for you to forgo boot camp training. Do you have any experience programming on your own? I would suggest spending a few months learning to code on the side, build up a portfolio with some interesting projects, and that combined with your degree would be enough to land you an internship or entry-level job.

Some good places to start include:

  • Automate the Boring Stuff with Python for a basic intro to programming (free online)

  • Codecademy HTML and CSS to give you a quick intro to the basics of websites

  • Eloquent JavaScript for expanding your knowledge of how the web works (free online)

After that, there's a variety of stuff you can focus on, but you will have a good fundamental grasp of the very basics. You should pick a project idea and finish it to completion. Things like a personal web page are good starting points. You can then build more stuff and share it on your web page. At some point you need to learn version control (shameless plug for my Git totrial).

Eventually you will have to conquer algorithms and need to check out Cracking the Coding Interview. Passing the shitty whiteboarding interview questions comes with the territory, unfortunately. MIT has a lot of good free courses to help bring you up to speed.

Hope that helps! Just keep learning and creating. Don't get stuck in "tutorial limbo", where you just keep learning but never make anything!

by BBorNot   2019-07-21

This is the best advice here. A coding bootcamp may give you a credential that's worth the price, but the real capability is from your own work/studying/interest. And that stuff can be done for almost free. I really liked Automate the Boring Stuff -- a Python book that provides some powerful tools very quickly.

The bootcamp will be 100x more valuable if you attend already able to code.

by ___GNUSlashLinux___   2019-07-21

Automate the Boring Stuff with Python

There isn't a way to learn to code faster, the best thing you can do is code every day. And I mean EVERY day. IMO Python will open the most doors. you may need to pick up other things along the way but Python is a good base.





by 71aaf6bfe05f94b6c449   2019-07-21

to put this machine to good use i suggest adding a python book as a birthday present, "Automate the Boring Stuff with Python".

by DaysBeforeSpring   2019-07-21

Yes. subprocess is a standard library (i.e. "baked in" to Python). pexpect is a separate install, but not at all painful. For my own reasons, I'm installing it the hardest possible way and it's literally 3 commands.

If this is something you want to mess with, check out Automate the Boring Stuff.

by exographicskip   2019-07-21

Current versions on Amazon

Automate: Python 3

Violent: Python 2

Master: Python 2 & 3


Automate had a nice chart from the publishers, but the latter two were easy to verify based on date released, reviews, and using Look Inside to read the table of contents and/or parts of chapters.

by shebazz42   2019-07-21

I keep recommending this book to people, and think it’s right up your alley:

Automate the Boring Stuff with Python: Practical Programming for Total Beginners

I love programming and have been doing it for almost 20 years semi- or fully-professionally. I still love the hell out of it even all these years later. I’d even say this is the best time ever to get into it.

by samort7   2018-11-10

For anyone looking for general book suggestions, I always recommend they go with the classics:

EDIT: Updated with some more books I forgot initially, and links to the latest versions

General Computing

Computer Science

Software Development

Case Studies








Linux Shell Scripts

Web Development

Ruby and Rails


by gummy_bear_time   2018-11-10

I think the other suggestions are fun, but if he’s serious about learning computer science, programming needs to become second nature.

I recommend this excellent intro book:

Python Crash Course: A Hands-On, Project-Based Introduction to Programming


Automate the Boring Stuff with Python: Practical Programming for Total Beginners

If he already knows how to program, go for a more advanced book. Getting a degree in CS means you’ve got to be able to follow a textbook. CS is also a lot of math and theory. The engineering, like using an Arduino, is more of the application of CS.

Also worth checking out if he enjoys history:

The Chip : How Two Americans Invented the Microchip and Launched a Revolution

by 3nraged   2018-11-10

automate the boring stuff with python:

by sayubuntu   2018-11-10

Pick up the book “Automate the boring stuff”


Free Online Version

And steal a project from there. The draw of python is you can make something useful fairly early on in the learning process.

Edit: I’de go with web scraping. Providing everyone with how to implement the shell functionality described in the book, and see what they come up with as far as a useful web scraper as your open ended requirement.

by just_mr_c   2018-11-10

I know you said classes so this may not fit what you're looking for, but I'd recommend the book Automate the Boring Stuff with Python . There's a site with the content free here. I used this book to help me first learn Python and come up with some little sub 20 line scripts to help me automate work tasks.

Also check out /r/learnpython, they're a cool community.

by ruffyen   2018-11-10

Automate the Boring stuff with Python is a pretty good book that covers some basics of things and gets the creative juices flowing. They also have one for Powershell .


The other book that I found really interesting was Practical Packet Analysis . It really opened my eyes to the power of wireshark.


And enough can't be said for Phoenix Project. Really interesting read that explains it in a real world like scenario instead of just a White Paper of how to do stuff. Above all else...avoid being a Brent.