My Account Log in

3 options

Automate the boring stuff with Python : practical programming for total beginners / by Al Sweigart.

Ebook Central Academic Complete Available online

View online

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Sweigart, Al, author.
Language:
English
Subjects (All):
Python (Computer program language).
Computer programming.
Physical Description:
1 online resource (479 pages)
Place of Publication:
San Francisco, California : No Starch Press, ©2015
Summary:
Automate the Boring Stuff with Python teaches simple programming skills to automate everyday computer tasks.
Contents:
Intro
Automate the Boring Stuff with Python: Practical Programming for Total Beginners
Dedication
About the Author
About the Tech Reviewer
Acknowledgments
Introduction
Whom Is This Book For?
Conventions
What Is Programming?
What Is Python?
Programmers Don't Need to Know Much Math
Programming Is a Creative Activity
About This Book
Downloading and Installing Python
Starting IDLE
The Interactive Shell
How to Find Help
Asking Smart Programming Questions
Summary
I. Python Programming Basics
1. Python Basics
Entering Expressions into the Interactive Shell
The Integer, Floating-Point, and String Data Types
String Concatenation and Replication
Storing Values in Variables
Assignment Statements
Variable Names
Your First Program
Dissecting Your Program
Comments
The print() Function
The input() Function
Printing the User's Name
The len() Function
The str(), int(), and float() Functions
Practice Questions
2. Flow Control
Boolean Values
Comparison Operators
Boolean Operators
Binary Boolean Operators
The not Operator
Mixing Boolean and Comparison Operators
Elements of Flow Control
Conditions
Blocks of Code
Program Execution
Flow Control Statements
if Statements
else Statements
elif Statements
while Loop Statements
An Annoying while Loop
break Statements
continue Statements
for Loops and the range() Function
An Equivalent while Loop
The Starting, Stopping, and Stepping Arguments to range()
Importing Modules
from import Statements
Ending a Program Early with sys.exit()
3. Functions
def Statements with Parameters
Return Values and return Statements
The None Value
Keyword Arguments and print()
Local and Global Scope.
Local Variables Cannot Be Used in the Global Scope
Local Scopes Cannot Use Variables in Other Local Scopes
Global Variables Can Be Read from a Local Scope
Local and Global Variables with the Same Name
The global Statement
Exception Handling
A Short Program: Guess the Number
Practice Projects
The Collatz Sequence
Input Validation
4. Lists
The List Data Type
Getting Individual Values in a List with Indexes
Negative Indexes
Getting Sublists with Slices
Getting a List's Length with len()
Changing Values in a List with Indexes
List Concatenation and List Replication
Removing Values from Lists with del Statements
Working with Lists
Using for Loops with Lists
The in and not in Operators
The Multiple Assignment Trick
Augmented Assignment Operators
Methods
Finding a Value in a List with the index() Method
Adding Values to Lists with the append() and insert() Methods
Removing Values from Lists with remove()
Sorting the Values in a List with the sort() Method
Example Program: Magic 8 Ball with a List
List-like Types: Strings and Tuples
Mutable and Immutable Data Types
The Tuple Data Type
Converting Types with the list() and tuple() Functions
References
Passing References
The copy Module's copy() and deepcopy() Functions
Comma Code
Character Picture Grid
5. Dictionaries and Structuring Data
The Dictionary Data Type
Dictionaries vs. Lists
The keys(), values(), and items() Methods
Checking Whether a Key or Value Exists in a Dictionary
The get() Method
The setdefault() Method
Pretty Printing
Using Data Structures to Model Real-World Things
A Tic-Tac-Toe Board
Nested Dictionaries and Lists
Practice Questions.
Practice Projects
Fantasy Game Inventory
List to Dictionary Function for Fantasy Game Inventory
6. Manipulating Strings
Working with Strings
String Literals
Double Quotes
Escape Characters
Raw Strings
Multiline Strings with Triple Quotes
Multiline Comments
Indexing and Slicing Strings
The in and not in Operators with Strings
Useful String Methods
The upper(), lower(), isupper(), and islower() String Methods
The isX String Methods
The startswith() and endswith() String Methods
The join() and split() String Methods
Justifying Text with rjust(), ljust(), and center()
Removing Whitespace with strip(), rstrip(), and lstrip()
Copying and Pasting Strings with the pyperclip Module
Project: Password Locker
Step 1: Program Design and Data Structures
Step 2: Handle Command Line Arguments
Step 3: Copy the Right Password
Project: Adding Bullets to Wiki Markup
Step 1: Copy and Paste from the Clipboard
Step 2: Separate the Lines of Text and Add the Star
Step 3: Join the Modified Lines
Practice Project
Table Printer
II. Automating Tasks
7. Pattern Matching with Regular Expressions
Finding Patterns of Text Without Regular Expressions
Finding Patterns of Text with Regular Expressions
Creating Regex Objects
Matching Regex Objects
Review of Regular Expression Matching
More Pattern Matching with Regular Expressions
Grouping with Parentheses
Matching Multiple Groups with the Pipe
Optional Matching with the Question Mark
Matching Zero or More with the Star
Matching One or More with the Plus
Matching Specific Repetitions with Curly Brackets
Greedy and Nongreedy Matching
The findall() Method
Character Classes
Making Your Own Character Classes
The Caret and Dollar Sign Characters.
The Wildcard Character
Matching Everything with Dot-Star
Matching Newlines with the Dot Character
Review of Regex Symbols
Case-Insensitive Matching
Substituting Strings with the sub() Method
Managing Complex Regexes
Combining re.IGNORECASE, re.DOTALL, and re.VERBOSE
Project: Phone Number and Email Address Extractor
Step 1: Create a Regex for Phone Numbers
Step 2: Create a Regex for Email Addresses
Step 3: Find All Matches in the Clipboard Text
Step 4: Join the Matches into a String for the Clipboard
Running the Program
Ideas for Similar Programs
Strong Password Detection
Regex Version of strip()
8. Reading and Writing Files
Files and File Paths
Backslash on Windows and Forward Slash on OS X and Linux
The Current Working Directory
Absolute vs. Relative Paths
Creating New Folders with os.makedirs()
The os.path Module
Handling Absolute and Relative Paths
Finding File Sizes and Folder Contents
Checking Path Validity
The File Reading/Writing Process
Opening Files with the open() Function
Reading the Contents of Files
Writing to Files
Saving Variables with the shelve Module
Saving Variables with the pprint.pformat() Function
Project: Generating Random Quiz Files
Step 1: Store the Quiz Data in a Dictionary
Step 2: Create the Quiz File and Shuffle the Question Order
Step 3: Create the Answer Options
Step 4: Write Content to the Quiz and Answer Key Files
Project: Multiclipboard
Step 1: Comments and Shelf Setup
Step 2: Save Clipboard Content with a Keyword
Step 3: List Keywords and Load a Keyword's Content
Extending the Multiclipboard
Mad Libs
Regex Search
9. Organizing Files
The shutil Module.
Copying Files and Folders
Moving and Renaming Files and Folders
Permanently Deleting Files and Folders
Safe Deletes with the send2trash Module
Walking a Directory Tree
Compressing Files with the zipfile Module
Reading ZIP Files
Extracting from ZIP Files
Creating and Adding to ZIP Files
Project: Renaming Files with American-Style Dates to European-Style Dates
Step 1: Create a Regex for American-Style Dates
Step 2: Identify the Date Parts from the Filenames
Step 3: Form the New Filename and Rename the Files
Project: Backing Up a Folder into a ZIP File
Step 1: Figure Out the ZIP File's Name
Step 2: Create the New ZIP File
Step 3: Walk the Directory Tree and Add to the ZIP File
Selective Copy
Deleting Unneeded Files
Filling in the Gaps
10. Debugging
Raising Exceptions
Getting the Traceback as a String
Assertions
Using an Assertion in a Traffic Light Simulation
Disabling Assertions
Logging
Using the logging Module
Don't Debug with print()
Logging Levels
Disabling Logging
Logging to a File
IDLE's Debugger
Go
Step
Over
Out
Quit
Debugging a Number Adding Program
Breakpoints
Debugging Coin Toss
11. Web Scraping
Project: mapit.py with the webbrowser Module
Step 1: Figure Out the URL
Step 2: Handle the Command Line Arguments
Step 3: Handle the Clipboard Content and Launch the Browser
Downloading Files from the Web with the requests Module
Downloading a Web Page with the requests.get() Function
Checking for Errors
Saving Downloaded Files to the Hard Drive
HTML
Resources for Learning HTML
A Quick Refresher.
Viewing the Source HTML of a Web Page.
Notes:
Includes index.
Description based on publisher supplied metadata and other sources.
ISBN:
9781457189906
1457189909
9781593276850
1593276850
9781593275990
1593275994
OCLC:
909425995

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account