{"product_id":"python-automation-for-dummies-paperback-softback-9781394371426","title":"Python Automation For Dummies (Paperback \/ softback) 9781394371426","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003ePython Automation For Dummies\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cfont size=\"4\"\u003eAlan Simpson (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781394371426, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 4 December 2025\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e368 pages\u003cbr\u003e22.9 x 18.3 x 2.3 cm, 0.522 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cp\u003e\u003cb\u003eStreamline Your Workflow and Boost Productivity with Python Automation\u003c\/b\u003e \u003c\/p\u003e\n\u003cp\u003eIn today's workplaces, there's a high demand for know-how on the Python programming language, especially for writing time-saving scripts that can simplify routine work tasks. \u003ci\u003ePython Automation For Dummies\u003c\/i\u003e delivers, with simple explanations of how you can use Python to automatically wrangle data files, manage media files, create shortcuts, find and organize web data, and even analyze social media for trends. With this easy-to-follow Dummies guide, you can upskill, expand your productivity, and speed up the process of generating data-driven insights. You'll even learn to enhance your Python automations with AI, for workflows that are faster and smarter. \u003c\/p\u003e\n\u003cul\u003e \u003cli\u003eReview the basics of Python coding and follow steps for automating all sorts of tasks\u003c\/li\u003e \u003cli\u003eManage large file sets, organize and analyze data, and speed up research processes\u003c\/li\u003e \u003cli\u003eAutomate scheduling and other time-consuming tasks—and optimize work with AI\u003c\/li\u003e \u003cli\u003eFree up time and resources by automating routine work, so you can foucs on more important issues\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003eThis is a great Dummies resource for Python developers interested in applying the popular coding language to make workflows more efficient.\u003c\/p\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eIntroduction 1\u003c\/p\u003e \u003cp\u003eAbout This Book 1\u003c\/p\u003e \u003cp\u003eFoolish Assumptions 2\u003c\/p\u003e \u003cp\u003eIcons Used in This Book 2\u003c\/p\u003e \u003cp\u003eBeyond the Book 2\u003c\/p\u003e \u003cp\u003eWhere to Go from Here 3\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 1: Getting Started with Python Automation 5\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: Automating with Python 7\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eChoosing a Programming Language 8\u003c\/p\u003e \u003cp\u003eUnderstanding Python Syntax 10\u003c\/p\u003e \u003cp\u003eGetting Python 11\u003c\/p\u003e \u003cp\u003eIdentifying the hardware requirements 11\u003c\/p\u003e \u003cp\u003eInstalling Python 12\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Choosing a Code Editor 15\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eInstalling VS Code 16\u003c\/p\u003e \u003cp\u003eInstalling Python Extensions 18\u003c\/p\u003e \u003cp\u003eCreating a Folder for a New Project 19\u003c\/p\u003e \u003cp\u003eOpening a project’s folder in VS Code 20\u003c\/p\u003e \u003cp\u003eSelecting your Python version 21\u003c\/p\u003e \u003cp\u003eOpening the Terminal in VS Code 22\u003c\/p\u003e \u003cp\u003eChecking your Python version 23\u003c\/p\u003e \u003cp\u003eUsing Virtual Environments 24\u003c\/p\u003e \u003cp\u003eCreating a virtual environment 25\u003c\/p\u003e \u003cp\u003eActivating a virtual environment 26\u003c\/p\u003e \u003cp\u003eInstalling Modules 28\u003c\/p\u003e \u003cp\u003eWriting and Running Python Scripts 30\u003c\/p\u003e \u003cp\u003eWriting a Python script 30\u003c\/p\u003e \u003cp\u003eRunning a Python script 32\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: Python Basics for Automation 35\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Python Comments 35\u003c\/p\u003e \u003cp\u003eMastering Variables and Data Types 36\u003c\/p\u003e \u003cp\u003eWorking with numbers 37\u003c\/p\u003e \u003cp\u003eWorking with text (strings) 38\u003c\/p\u003e \u003cp\u003eDeciding true or false with Booleans 39\u003c\/p\u003e \u003cp\u003eUsing lists 39\u003c\/p\u003e \u003cp\u003eMaking immutable lists with tuples 40\u003c\/p\u003e \u003cp\u003eDefining key–value pairs in dictionaries 40\u003c\/p\u003e \u003cp\u003eLeaving things hanging with None 41\u003c\/p\u003e \u003cp\u003eFormatting Output 42\u003c\/p\u003e \u003cp\u003eDealing with Dates and Times 45\u003c\/p\u003e \u003cp\u003eManipulating Data with Operators 47\u003c\/p\u003e \u003cp\u003eUsing arithmetic and string operators 47\u003c\/p\u003e \u003cp\u003eUsing assignment operators 48\u003c\/p\u003e \u003cp\u003eRecognizing other operators 49\u003c\/p\u003e \u003cp\u003eGetting Loopy with Loops 51\u003c\/p\u003e \u003cp\u003eLooping with for 51\u003c\/p\u003e \u003cp\u003eLooping for a while 52\u003c\/p\u003e \u003cp\u003eBailing out of loops 53\u003c\/p\u003e \u003cp\u003eMaking Decisions 55\u003c\/p\u003e \u003cp\u003eDeciding with if else 55\u003c\/p\u003e \u003cp\u003eCompacting decisions with a ternary operator 56\u003c\/p\u003e \u003cp\u003eDeciding with match 57\u003c\/p\u003e \u003cp\u003eDefining Python Functions 58\u003c\/p\u003e \u003cp\u003eDefining default values for parameters 60\u003c\/p\u003e \u003cp\u003eUsing type hints in Python functions 60\u003c\/p\u003e \u003cp\u003eCreating Classes and Objects 61\u003c\/p\u003e \u003cp\u003eHandling Exceptions 63\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 2: Automating Common Computer Tasks 67\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Automating Files and Folders 69\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDemystifying the Buzzwords 70\u003c\/p\u003e \u003cp\u003eDrives, directories, folders, and files 71\u003c\/p\u003e \u003cp\u003eAbsolute versus relative paths 72\u003c\/p\u003e \u003cp\u003eBackslashes in Windows paths 73\u003c\/p\u003e \u003cp\u003ePlaying It Safe 74\u003c\/p\u003e \u003cp\u003eNavigating Folders and Files 74\u003c\/p\u003e \u003cp\u003eOrganizing Files by Type 81\u003c\/p\u003e \u003cp\u003eUsing mkdir for subfolders 86\u003c\/p\u003e \u003cp\u003eMoving files with shutil 86\u003c\/p\u003e \u003cp\u003eMaking the script your own 87\u003c\/p\u003e \u003cp\u003eRenaming Files in Bulk 87\u003c\/p\u003e \u003cp\u003eRenaming files with Python 90\u003c\/p\u003e \u003cp\u003eUsing the bulk renaming script 91\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Automating File Management 93\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDeleting Old and Temporary Files 93\u003c\/p\u003e \u003cp\u003eIdentifying old files 96\u003c\/p\u003e \u003cp\u003eMatching the file pattern 96\u003c\/p\u003e \u003cp\u003eSending files to the trash 97\u003c\/p\u003e \u003cp\u003eUsing the deletion script safely 97\u003c\/p\u003e \u003cp\u003eBacking Up Files 98\u003c\/p\u003e \u003cp\u003eCreating folders from Python 101\u003c\/p\u003e \u003cp\u003eCopying files with Python 101\u003c\/p\u003e \u003cp\u003ePersonalizing the backup script 102\u003c\/p\u003e \u003cp\u003eFinding and Removing Duplicate Files 103\u003c\/p\u003e \u003cp\u003eCalculating a file hash 106\u003c\/p\u003e \u003cp\u003eFinding duplicate files 107\u003c\/p\u003e \u003cp\u003eDeleting duplicate files 108\u003c\/p\u003e \u003cp\u003eTweaking the find duplicates script 108\u003c\/p\u003e \u003cp\u003eCompressing Files 109\u003c\/p\u003e \u003cp\u003eCompressing files with Python 112\u003c\/p\u003e \u003cp\u003eSetting your compression parameters 113\u003c\/p\u003e \u003cp\u003eDecompressing Files 114\u003c\/p\u003e \u003cp\u003eUnzipping files with Python 116\u003c\/p\u003e \u003cp\u003eUsing the decompression script 117\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6: Automating Image and Video Files 119\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eResizing, Rotating, Flipping, and Cropping Images 120\u003c\/p\u003e \u003cp\u003eResizing images 125\u003c\/p\u003e \u003cp\u003eRotating images 126\u003c\/p\u003e \u003cp\u003eFlipping images 126\u003c\/p\u003e \u003cp\u003eCropping images 127\u003c\/p\u003e \u003cp\u003eCustomizing the image processor 128\u003c\/p\u003e \u003cp\u003eConverting Image File Types 129\u003c\/p\u003e \u003cp\u003eConverting files with Python 131\u003c\/p\u003e \u003cp\u003ePersonalizing the conversion script 132\u003c\/p\u003e \u003cp\u003eExtracting Frames from Video Files 133\u003c\/p\u003e \u003cp\u003eImporting modules for video extraction 135\u003c\/p\u003e \u003cp\u003eLooping through a video 136\u003c\/p\u003e \u003cp\u003eTweaking the video conversion script 138\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7: Automating Mouse and Keyboard 139\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGranting Permissions on a Mac 140\u003c\/p\u003e \u003cp\u003eMoving the Mouse, Clicking, Dragging, and Scrolling 141\u003c\/p\u003e \u003cp\u003eUnderstanding screen coordinates 141\u003c\/p\u003e \u003cp\u003eControlling the mouse speed 141\u003c\/p\u003e \u003cp\u003eStopping a wild mouse 142\u003c\/p\u003e \u003cp\u003eFinding the screen locations of things 142\u003c\/p\u003e \u003cp\u003eUsing mouse control with a specific app 144\u003c\/p\u003e \u003cp\u003eTrying out mouse control 144\u003c\/p\u003e \u003cp\u003eTyping Text with Python 146\u003c\/p\u003e \u003cp\u003eControlling the typing speed 147\u003c\/p\u003e \u003cp\u003eTyping long passages of text 147\u003c\/p\u003e \u003cp\u003ePressing special keys 148\u003c\/p\u003e \u003cp\u003ePressing hotkeys 148\u003c\/p\u003e \u003cp\u003eDetecting the operating system 149\u003c\/p\u003e \u003cp\u003eDetecting Keystrokes 150\u003c\/p\u003e \u003cp\u003eCreating Your Own Keyboard Shortcuts 151\u003c\/p\u003e \u003cp\u003eAutomating Screenshots 155\u003c\/p\u003e \u003cp\u003eTaking screenshots with Python 157\u003c\/p\u003e \u003cp\u003ePersonalizing the auto screenshot script 158\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8: Automating the Office 159\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAutomating Microsoft Word 159\u003c\/p\u003e \u003cp\u003eNaming your Word document 162\u003c\/p\u003e \u003cp\u003eDefining your Word content 163\u003c\/p\u003e \u003cp\u003eAutomating Microsoft Excel 164\u003c\/p\u003e \u003cp\u003eSpecifying your workbook 167\u003c\/p\u003e \u003cp\u003eDefining content for your workbook 167\u003c\/p\u003e \u003cp\u003eCreating and Opening PDFs 168\u003c\/p\u003e \u003cp\u003eDefining content for your PDF 172\u003c\/p\u003e \u003cp\u003eIdentifying your PDF 172\u003c\/p\u003e \u003cp\u003eWatermarking PDFs 173\u003c\/p\u003e \u003cp\u003eCreating your watermark image 176\u003c\/p\u003e \u003cp\u003eAdapting the script to your needs 177\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 3: Automating the Internet 179\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9: Interacting with APIs 181\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eObtaining API Keys 181\u003c\/p\u003e \u003cp\u003eSafely Storing API Keys 182\u003c\/p\u003e \u003cp\u003eCreating a .gitignore file 184\u003c\/p\u003e \u003cp\u003eUsing an API key in your script 185\u003c\/p\u003e \u003cp\u003eHandling JSON Data 185\u003c\/p\u003e \u003cp\u003eParsing and serializing JSON data 187\u003c\/p\u003e \u003cp\u003eReading and writing JSON files 188\u003c\/p\u003e \u003cp\u003eUnderstanding REST APIs 190\u003c\/p\u003e \u003cp\u003eMaking API requests 191\u003c\/p\u003e \u003cp\u003eParsing API responses 193\u003c\/p\u003e \u003cp\u003eReviewing a Complete REST API Script 194\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10: Automating the Web 197\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAutomating Web Browsers 197\u003c\/p\u003e \u003cp\u003eLoading drivers for your browser 198\u003c\/p\u003e \u003cp\u003eFinding text boxes to fill 200\u003c\/p\u003e \u003cp\u003eAutomating Filling Forms Online 201\u003c\/p\u003e \u003cp\u003eFinding a control 203\u003c\/p\u003e \u003cp\u003eSubmitting a form with Enter 204\u003c\/p\u003e \u003cp\u003eFilling Multiple Text Boxes 204\u003c\/p\u003e \u003cp\u003eClicking a form’s Submit button 207\u003c\/p\u003e \u003cp\u003eAdapting the script to your needs 207\u003c\/p\u003e \u003cp\u003eFilling Text Boxes from a File 208\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11: Scraping Web Pages 213\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePicking the Right Tools for Web Scraping 213\u003c\/p\u003e \u003cp\u003eScraping Links from a Web Page 214\u003c\/p\u003e \u003cp\u003eSending a browser header 215\u003c\/p\u003e \u003cp\u003eParsing a web page 216\u003c\/p\u003e \u003cp\u003eExtracting Data from a Web Page 217\u003c\/p\u003e \u003cp\u003eFinding elements to scrape 218\u003c\/p\u003e \u003cp\u003eScraping data from the page 221\u003c\/p\u003e \u003cp\u003eAutomating Data Extraction 222\u003c\/p\u003e \u003cp\u003eDetermining whether a business is open 225\u003c\/p\u003e \u003cp\u003eScraping stock market data 227\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12: Automating Email and Text Messages 229\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSending Bulk Email Automatically 229\u003c\/p\u003e \u003cp\u003eCollecting account information 230\u003c\/p\u003e \u003cp\u003eCreating a .env file 230\u003c\/p\u003e \u003cp\u003eCreating your email-sending script 231\u003c\/p\u003e \u003cp\u003eSending HTML mail 234\u003c\/p\u003e \u003cp\u003ePutting email recipient addresses in a file 235\u003c\/p\u003e \u003cp\u003eAutomatically Sending Text Messages 236\u003c\/p\u003e \u003cp\u003eStoring SMS account information 237\u003c\/p\u003e \u003cp\u003eDefining your recipient list and message 239\u003c\/p\u003e \u003cp\u003eStoring recipient numbers 239\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 13: Automating Social Media 243\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAcquiring API Keys and Modules 243\u003c\/p\u003e \u003cp\u003eAutomating Posting 244\u003c\/p\u003e \u003cp\u003eSetting up your project 245\u003c\/p\u003e \u003cp\u003eMaking the script your own 249\u003c\/p\u003e \u003cp\u003eCreating Content for Your Posts 249\u003c\/p\u003e \u003cp\u003eTracking Performance Metrics 251\u003c\/p\u003e \u003cp\u003eGetting Instagram API access 251\u003c\/p\u003e \u003cp\u003eSetting up your script 251\u003c\/p\u003e \u003cp\u003eDefining your metrics and timeframe 254\u003c\/p\u003e \u003cp\u003eAnalyzing Trends 255\u003c\/p\u003e \u003cp\u003eViewing the trends 257\u003c\/p\u003e \u003cp\u003eSetting your own keywords and timeframe 257\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 4: Automating More Advanced Stuff 259\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 14: Scheduling Tasks. 261\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing the Schedule Module 261\u003c\/p\u003e \u003cp\u003eUnderstanding how the schedule module works 263\u003c\/p\u003e \u003cp\u003eScheduling tasks for intervals 264\u003c\/p\u003e \u003cp\u003eUsing the APScheduler Module 265\u003c\/p\u003e \u003cp\u003eUsing APScheduler with intervals 267\u003c\/p\u003e \u003cp\u003eUsing APScheduler with dates and times 268\u003c\/p\u003e \u003cp\u003eAutomating Python Scripts 271\u003c\/p\u003e \u003cp\u003eRunning scripts as subprocesses 271\u003c\/p\u003e \u003cp\u003eRunning scripts as imports 274\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 15: Integrating with Artificial Intelligence 277\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAccessing Free AI through an API 277\u003c\/p\u003e \u003cp\u003eWarming Up to a Local Chatbot 282\u003c\/p\u003e \u003cp\u003eInstalling and running Ollama 283\u003c\/p\u003e \u003cp\u003eDownloading AI models with Ollama 283\u003c\/p\u003e \u003cp\u003eBuilding a simple local chatbot 284\u003c\/p\u003e \u003cp\u003eCreating a Conversational Chatbot 287\u003c\/p\u003e \u003cp\u003eDeveloping an AI Image Generator 290\u003c\/p\u003e \u003cp\u003eShowing the generated image onscreen 295\u003c\/p\u003e \u003cp\u003eHitting up Hugging Face 301\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 5: the Part of Tens 309\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 16: Top Ten Zen of Python Guidelines 311\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eBeautiful Is Better than Ugly 311\u003c\/p\u003e \u003cp\u003eExplicit Is Better than Implicit 314\u003c\/p\u003e \u003cp\u003eUsing type hints 315\u003c\/p\u003e \u003cp\u003eUsing comments 316\u003c\/p\u003e \u003cp\u003eHandling errors 316\u003c\/p\u003e \u003cp\u003eSimple Is Better than Complex 317\u003c\/p\u003e \u003cp\u003eComplex Is Better than Complicated 320\u003c\/p\u003e \u003cp\u003eFlat Is Better than Nested 321\u003c\/p\u003e \u003cp\u003eFlattening nested conditionals 321\u003c\/p\u003e \u003cp\u003eUsing list comprehension 322\u003c\/p\u003e \u003cp\u003eSparse Is Better than Dense 324\u003c\/p\u003e \u003cp\u003eReadability Counts 325\u003c\/p\u003e \u003cp\u003eSpecial Cases Aren’t Special Enough to Break the Rule 326\u003c\/p\u003e \u003cp\u003ePracticality Beats Purity 328\u003c\/p\u003e \u003cp\u003eErrors Should Never Pass Silently 329\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 17: Top Ten Python Error Messages 331\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCommand Not Found 331\u003c\/p\u003e \u003cp\u003eNo Module Named 333\u003c\/p\u003e \u003cp\u003eSyntaxError 334\u003c\/p\u003e \u003cp\u003eNameError 335\u003c\/p\u003e \u003cp\u003eTypeError 336\u003c\/p\u003e \u003cp\u003eIndexError 337\u003c\/p\u003e \u003cp\u003eKeyError 339\u003c\/p\u003e \u003cp\u003eAttributeError 340\u003c\/p\u003e \u003cp\u003eModuleNotFoundError 342\u003c\/p\u003e \u003cp\u003eFileNotFoundError 343\u003c\/p\u003e \u003cp\u003eIndentationError 345\u003c\/p\u003e \u003cp\u003eIndex 347\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer programming \/ software development [\u003ca title=\"See our other books on Computer programming \/ software development\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20programming%20\/%20software%20development%20%5BUM%5D%22\"\u003eUM\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"For Dummies","offers":[{"title":"Brand New","offer_id":52462931083544,"sku":"9781394371426","price":19.29,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781394371426.jpg?v=1785542729","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/python-automation-for-dummies-paperback-softback-9781394371426","provider":"Freshly Printed Books","version":"1.0","type":"link"}