Automate the Boring Stuff with Python: Practical Programming for Total Beginners by super Python expert Al Sweigart is a pretty thick intermedia to somewhat advanced level programming book.
It covers how Python works, so someone familiar with programming languages can get up to speed. Then, the book tackles a number of key important tasks one may use a computer for. This includes working with Regular Expressions, file reading and writing, web scraping, interacting with Excel spreadsheets and PDF files, scheduling things, working with email, manipulating images, and messing around with the keyboard and mouse.
I wold like to see a second volume with yet more programming ideas and examples. It could be a series.
From the publishers:
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.
One of these years I have got to learn Python -- which seems to be taking over from Perl in the domain of running webservers. I wish somebody would translate or "port" the http://mindsz.com/ideasz/ai-mind project form Perl into Python so that then any Python programmer could become a http://ai.neocities.org/maintainer.html AI Mind Maintainer.
Greg - the entire book is also available online https://automatetheboringstuff.com/
Thanks, for pointing the book out.
Just want to say, "Thanks again."
I took the time yesterday to sit down and learn enough Python to automate inspection of 8000 Excel files. I collected the filename, file size, the last modification date, names of all worksheets in each workbook, the names and cell ranges of all Defined Names in each worksheet, a list of all external links, and the cell value for a particular Defined Name (where it existed).
I spent a dozen hours on the project, but much of that was because I kept adding to the information being retrieved. This wasn't a 'mission critical' project, In other words, it never would have been done without automation :)