100% found this document useful (1 vote)
29 views

Automate the Boring Stuff with Python Practical Programming for Total Beginners 1st Edition Al Sweigartdownload

The document promotes the ebook 'Automate the Boring Stuff with Python' by Al Sweigart, aimed at beginners looking to learn Python programming for automation tasks. It includes links to download the book and other related Python resources. The book covers various programming concepts and practical applications to help users automate repetitive tasks efficiently.

Uploaded by

cicajveselj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
29 views

Automate the Boring Stuff with Python Practical Programming for Total Beginners 1st Edition Al Sweigartdownload

The document promotes the ebook 'Automate the Boring Stuff with Python' by Al Sweigart, aimed at beginners looking to learn Python programming for automation tasks. It includes links to download the book and other related Python resources. The book covers various programming concepts and practical applications to help users automate repetitive tasks efficiently.

Uploaded by

cicajveselj
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 57

Download the full version and explore a variety of ebooks

or textbooks at https://ebookultra.com

Automate the Boring Stuff with Python Practical


Programming for Total Beginners 1st Edition Al
Sweigart

_____ Follow the link below to get your download now _____

https://ebookultra.com/download/automate-the-boring-stuff-
with-python-practical-programming-for-total-beginners-1st-
edition-al-sweigart/

Access ebookultra.com now to download high-quality


ebooks or textbooks
We have selected some products that you may be interested in
Click the link to download now or visit ebookultra.com
for more options!.

Cracking Codes with Python Al Sweigart

https://ebookultra.com/download/cracking-codes-with-python-al-
sweigart/

Invent Your Own Computer Games with Python Early Access Al


Sweigart

https://ebookultra.com/download/invent-your-own-computer-games-with-
python-early-access-al-sweigart/

Coding with Minecraft 1st Edition Al Sweigart

https://ebookultra.com/download/coding-with-minecraft-1st-edition-al-
sweigart/

Maya Programming with Python Cookbook 1st Edition Herbez

https://ebookultra.com/download/maya-programming-with-python-
cookbook-1st-edition-herbez/
Python 3 for Absolute Beginners 1st Edition Tim Hall

https://ebookultra.com/download/python-3-for-absolute-beginners-1st-
edition-tim-hall/

Beginning Programming with Python For Dummies 3rd Edition


John Paul Mueller

https://ebookultra.com/download/beginning-programming-with-python-for-
dummies-3rd-edition-john-paul-mueller/

Parallel Programming with Python First Edition Jan Palach

https://ebookultra.com/download/parallel-programming-with-python-
first-edition-jan-palach/

Python programming for the absolute beginner Michael


Dawson Third Edition Dawson

https://ebookultra.com/download/python-programming-for-the-absolute-
beginner-michael-dawson-third-edition-dawson/

Practical Database Programming with Java 1st Edition Ying


Bai

https://ebookultra.com/download/practical-database-programming-with-
java-1st-edition-ying-bai/
Automate the Boring Stuff with Python Practical
Programming for Total Beginners 1st Edition Al Sweigart
Digital Instant Download
Author(s): Al Sweigart
ISBN(s): 9781593275990, 1593275994
Edition: 1
File Details: PDF, 16.64 MB
Year: 2015
Language: english
LEARN PYTHON.
AUTOMATE
THE BORING STUFF
GET STUFF DONE.

AU TOM AT E T HE BOR ING


WITH PYTHON

STUFF WITH PY THON


If you’ve ever spent hours renaming files or updating • Send reminder emails and text notifications P R A C T I C A L P R O G R A M M I N G
hundreds of spreadsheet cells, you know how tedious
• Fill out online forms F O R T O T A L B E G I N N E R S
tasks like these can be. But what if you could have
your computer do them for you? Step-by-step instructions walk you through each
program, and practice projects at the end of each
In Automate the Boring Stuff with Python, you’ll AL SWEIGART
chapter challenge you to improve those programs and
learn how to use Python to write programs that do in
use your newfound skills to automate similar tasks.
minutes what would take you hours to do by hand—
no prior programming experience required. Once Don’t spend your time doing work a well-trained
you’ve mastered the basics of programming, you’ll monkey could do. Even if you’ve never written a line
create Python programs that effortlessly perform of code, you can make your computer do the grunt work.
useful and impressive feats of automation to: Learn how in Automate the Boring Stuff with Python.

• Search for text in a file or across multiple files


ABOUT THE AUTHOR
• Create, update, move, and rename files and
folders Al Sweigart is a software developer and teaches pro-
gramming to kids and adults. He has written several
• Search the Web and download online content Python books for beginners, including Hacking Secret
• Update and format data in Excel spreadsheets Ciphers with Python, Invent Your Own Computer Games
of any size with Python, and Making Games with Python & Pygame.

• Split, merge, watermark, and encrypt PDFs

COVERS PYTHON 3

T H E F I N E ST I N G E E K E N T E RTA I N M E N T ™
SWEIGART
w w w.nostarch.com

“ I L I E F L AT .” $29.95 ($34.95 CDN)


This book uses a durable binding that won’t snap shut.
PYTHON
PROGRAMMING LANGUAGES/
SHELVE IN:

SFI-00000
Automate the Boring Stuff
with Python
Automate the
Boring Stuff
with Python
Practical Programming
for Total Beginners

b y Al S w e i g a r t

San Francisco
Automate the Boring Stuff with Python. Copyright © 2015 by Al Sweigart.

All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording, or by any information storage or retrieval
system, without the prior written permission of the copyright owner and the publisher.

Printed in USA

Second printing

19 18 17 16 15   2 3 4 5 6 7 8 9

ISBN-10: 1-59327-599-4
ISBN-13: 978-1-59327-599-0 SFI-00000

Publisher: William Pollock


Production Editor: Laurel Chun
Cover Illustration: Josh Ellingson
Interior Design: Octopod Studios
Developmental Editors: Jennifer Griffith-Delgado, Greg Poulos, and Leslie Shen
Technical Reviewer: Ari Lacenski
Copyeditor: Kim Wimpsett
Compositor: Susan Glinert Stevens
Proofreader: Lisa Devoto Farrell
Indexer: BIM Indexing and Proofreading Services

For information on distribution, translations, or bulk sales,


please contact No Starch Press, Inc. directly:

No Starch Press, Inc.


245 8th Street, San Francisco, CA 94103
phone: 415.863.9900; [email protected]
www.nostarch.com

Library of Congress Control Number: 2014953114

No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc. Other
product and company names mentioned herein may be the trademarks of their respective owners. Rather
than use a trademark symbol with every occurrence of a trademarked name, we are using the names only
in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the
trademark.

The information in this book is distributed on an “As Is” basis, without warranty. While every precaution
has been taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall have any
liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or
indirectly by the information contained in it.

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United
States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/us/
or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
For my nephew Jack
About the Author
Al Sweigart is a software developer and tech book author living in San
­Francisco. Python is his favorite programming language, and he is the
developer of several open source modules for it. His other books are freely
available under a Creative Commons license on his website http://www
.inventwithpython.com/. His cat weighs 14 pounds.

About the Tech Reviewer


Ari Lacenski is a developer of Android applications and Python software.
She lives in San Francisco, where she writes about Android programming at
http://gradlewhy.ghost.io/ and mentors with Women Who Code. She’s also a
folk guitarist.
Brief Content s

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Part I: Python Programming Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Chapter 1: Python Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Chapter 2: Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Chapter 3: Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Chapter 4: Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Chapter 5: Dictionaries and Structuring Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Chapter 6: Manipulating Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Part II: Automating Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Chapter 7: Pattern Matching with Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Chapter 8: Reading and Writing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

Chapter 9: Organizing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

Chapter 10: Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Chapter 11: Web Scraping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

Chapter 12: Working with Excel Spreadsheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

Chapter 13: Working with PDF and Word Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

Chapter 14: Working with CSV Files and JSON Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

Chapter 15: Keeping Time, Scheduling Tasks, and Launching Programs . . . . . . . . . . . . . . 335

Chapter 16: Sending Email and Text Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361

Chapter 17: Manipulating Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

Chapter 18: Controlling the Keyboard and Mouse with GUI Automation . . . . . . . . . . . . . . 413
Appendix A: Installing Third-Party Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441

Appendix B: Running Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443

Appendix C: Answers to the Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Con t e n t s in De ta il

Acknowledgments xxiii

Introduction 1
Whom Is This Book For? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
What Is Programming? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
What Is Python? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Programmers Don’t Need to Know Much Math . . . . . . . . . . . . . . . . . . . . . . . . 4
Programming Is a Creative Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Downloading and Installing Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Starting IDLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
The Interactive Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
How to Find Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Asking Smart Programming Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Part I: Python Programming Basics 11

1
Python Basics 13
Entering Expressions into the Interactive Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
The Integer, Floating-Point, and String Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
String Concatenation and Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Storing Values in Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Assignment Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Variable Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Your First Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Dissecting Your Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
The print() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
The input() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Printing the User’s Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
The len() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
The str(), int(), and float() Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2
Flow Control 31
Boolean Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Boolean Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Binary Boolean Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
The not Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Mixing Boolean and Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Elements of Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Blocks of Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Program Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Flow Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
if Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
else Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
elif Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
while Loop Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
break Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
continue Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
for Loops and the range() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Importing Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
from import Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Ending a Program Early with sys.exit() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3
Functions 61
def Statements with Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Return Values and return Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
The None Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Keyword Arguments and print() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Local and Global Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Local Variables Cannot Be Used in the Global Scope . . . . . . . . . . . . . . . . . . . 67
Local Scopes Cannot Use Variables in Other Local Scopes . . . . . . . . . . . . . . . 68
Global Variables Can Be Read from a Local Scope . . . . . . . . . . . . . . . . . . . . 69
Local and Global Variables with the Same Name . . . . . . . . . . . . . . . . . . . . . 69
The global Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Exception Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
A Short Program: Guess the Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Practice Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
The Collatz Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Input Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4
Lists 79
The List Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Getting Individual Values in a List with Indexes . . . . . . . . . . . . . . . . . . . . . . . 80
Negative Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Getting Sublists with Slices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Getting a List’s Length with len() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Changing Values in a List with Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

x   Contents in Detail
List Concatenation and List Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Removing Values from Lists with del Statements . . . . . . . . . . . . . . . . . . . . . . . 84
Working with Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Using for Loops with Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
The in and not in Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
The Multiple Assignment Trick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Augmented Assignment Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Finding a Value in a List with the index() Method . . . . . . . . . . . . . . . . . . . . . . 89
Adding Values to Lists with the append() and insert() Methods . . . . . . . . . . . . . 89
Removing Values from Lists with remove() . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Sorting the Values in a List with the sort() Method . . . . . . . . . . . . . . . . . . . . . . 91
Example Program: Magic 8 Ball with a List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
List-like Types: Strings and Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Mutable and Immutable Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
The Tuple Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Converting Types with the list() and tuple() Functions . . . . . . . . . . . . . . . . . . . . 97
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Passing References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
The copy Module’s copy() and deepcopy() Functions . . . . . . . . . . . . . . . . . . 100
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Practice Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Comma Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Character Picture Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

5
Dictionaries and Structuring Data 105
The Dictionary Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Dictionaries vs. Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
The keys(), values(), and items() Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Checking Whether a Key or Value Exists in a Dictionary . . . . . . . . . . . . . . . . 109
The get() Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
The setdefault() Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Pretty Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Using Data Structures to Model Real-World Things . . . . . . . . . . . . . . . . . . . . . . . . . . 112
A Tic-Tac-Toe Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Nested Dictionaries and Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Practice Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Fantasy Game Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
List to Dictionary Function for Fantasy Game Inventory . . . . . . . . . . . . . . . . . 120

6
Manipulating Strings 123
Working with Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
String Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Indexing and Slicing Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
The in and not in Operators with Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Contents in Detail   xi
Useful String Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
The upper(), lower(), isupper(), and islower() String Methods . . . . . . . . . . . . . 128
The isX String Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
The startswith() and endswith() String Methods . . . . . . . . . . . . . . . . . . . . . . . 131
The join() and split() String Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Justifying Text with rjust(), ljust(), and center() . . . . . . . . . . . . . . . . . . . . . . . . 133
Removing Whitespace with strip(), rstrip(), and lstrip() . . . . . . . . . . . . . . . . . . 134
Copying and Pasting Strings with the pyperclip Module . . . . . . . . . . . . . . . . 135
Project: Password Locker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Step 1: Program Design and Data Structures . . . . . . . . . . . . . . . . . . . . . . . . 136
Step 2: Handle Command Line Arguments . . . . . . . . . . . . . . . . . . . . . . . . . 137
Step 3: Copy the Right Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Project: Adding Bullets to Wiki Markup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Step 1: Copy and Paste from the Clipboard . . . . . . . . . . . . . . . . . . . . . . . . 139
Step 2: Separate the Lines of Text and Add the Star . . . . . . . . . . . . . . . . . . . 140
Step 3: Join the Modified Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Practice Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Table Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

Part II: Automating Tasks 145

7
Pattern Matching with Regular Expressions 147
Finding Patterns of Text Without Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . 148
Finding Patterns of Text with Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Creating Regex Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Matching Regex Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Review of Regular Expression Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
More Pattern Matching with Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Grouping with Parentheses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Matching Multiple Groups with the Pipe . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Optional Matching with the Question Mark . . . . . . . . . . . . . . . . . . . . . . . . . 154
Matching Zero or More with the Star . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Matching One or More with the Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Matching Specific Repetitions with Curly Brackets . . . . . . . . . . . . . . . . . . . . 156
Greedy and Nongreedy Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
The findall() Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Character Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Making Your Own Character Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
The Caret and Dollar Sign Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
The Wildcard Character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Matching Everything with Dot-Star . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Matching Newlines with the Dot Character . . . . . . . . . . . . . . . . . . . . . . . . . 162
Review of Regex Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Case-Insensitive Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

xii   Contents in Detail
Substituting Strings with the sub() Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Managing Complex Regexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Combining re.IGNORECASE, re.DOTALL, and re.VERBOSE . . . . . . . . . . . . . . . . . . . . 164
Project: Phone Number and Email Address Extractor . . . . . . . . . . . . . . . . . . . . . . . . . 165
Step 1: Create a Regex for Phone Numbers . . . . . . . . . . . . . . . . . . . . . . . . 166
Step 2: Create a Regex for Email Addresses . . . . . . . . . . . . . . . . . . . . . . . . 166
Step 3: Find All Matches in the Clipboard Text . . . . . . . . . . . . . . . . . . . . . . 167
Step 4: Join the Matches into a String for the Clipboard . . . . . . . . . . . . . . . . 168
Running the Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Ideas for Similar Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Practice Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Strong Password Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Regex Version of strip() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

8
Reading and Writing Files 173
Files and File Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Backslash on Windows and Forward Slash on OS X and Linux . . . . . . . . . . . 174
The Current Working Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Absolute vs. Relative Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Creating New Folders with os.makedirs() . . . . . . . . . . . . . . . . . . . . . . . . . . 176
The os.path Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Handling Absolute and Relative Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Finding File Sizes and Folder Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Checking Path Validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
The File Reading/Writing Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Opening Files with the open() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Reading the Contents of Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Writing to Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Saving Variables with the shelve Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Saving Variables with the pprint.pformat() Function . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Project: Generating Random Quiz Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Step 1: Store the Quiz Data in a Dictionary . . . . . . . . . . . . . . . . . . . . . . . . 187
Step 2: Create the Quiz File and Shuffle the Question Order . . . . . . . . . . . . . 188
Step 3: Create the Answer Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Step 4: Write Content to the Quiz and Answer Key Files . . . . . . . . . . . . . . . 189
Project: Multiclipboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Step 1: Comments and Shelf Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Step 2: Save Clipboard Content with a Keyword . . . . . . . . . . . . . . . . . . . . . 192
Step 3: List Keywords and Load a Keyword’s Content . . . . . . . . . . . . . . . . . . 193
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Practice Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Extending the Multiclipboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Mad Libs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Regex Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Contents in Detail   xiii
9
Organizing Files 197
The shutil Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Copying Files and Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Moving and Renaming Files and Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Permanently Deleting Files and Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Safe Deletes with the send2trash Module . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Walking a Directory Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Compressing Files with the zipfile Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Reading ZIP Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Extracting from ZIP Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Creating and Adding to ZIP Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Project: Renaming Files with American-Style Dates to
European-Style Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Step 1: Create a Regex for American-Style Dates . . . . . . . . . . . . . . . . . . . . . 206
Step 2: Identify the Date Parts from the Filenames . . . . . . . . . . . . . . . . . . . . 207
Step 3: Form the New Filename and Rename the Files . . . . . . . . . . . . . . . . . 209
Ideas for Similar Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Project: Backing Up a Folder into a ZIP File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Step 1: Figure Out the ZIP File’s Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Step 2: Create the New ZIP File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Step 3: Walk the Directory Tree and Add to the ZIP File . . . . . . . . . . . . . . . . 211
Ideas for Similar Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Practice Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Selective Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Deleting Unneeded Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Filling in the Gaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

10
Debugging 215
Raising Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Getting the Traceback as a String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Assertions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Using an Assertion in a Traffic Light Simulation . . . . . . . . . . . . . . . . . . . . . . 219
Disabling Assertions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Using the logging Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Don’t Debug with print() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Logging Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Disabling Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Logging to a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
IDLE’s Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Go . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Over . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

xiv   Contents in Detail
Quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Debugging a Number Adding Program . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Practice Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Practice Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Debugging Coin Toss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

11
Web Scraping 233
Project: mapIt.py with the webbrowser Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Step 1: Figure Out the URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Step 2: Handle the Command Line Arguments . . . . . . . . . . . . . . . . . . . . . . . 235
Step 3: Handle the Clipboard Content and Launch the Browser . . . . . . . . . . . 236
Ideas for Similar Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Downloading Files from the Web with the requests Module . . . . . . . . . . . . . . . . . . . . 237
Downloading a Web Page with the requests.get() Function . . . . . . . . . . . . . . 237
Checking for Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Saving Downloaded Files to the Hard Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Resources for Learning HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
A Quick Refresher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Viewing the Source HTML of a Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Opening Your Browser’s Developer Tools . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Using the Developer Tools to Find HTML Elements . . . . . . . . . . . . . . . . . . . . 244
Parsing HTML with the BeautifulSoup Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Creating a BeautifulSoup Object from HTML . . . . . . . . . . . . . . . . . . . . . . . . 245
Finding an Element with the select() Method . . . . . . . . . . . . . . . . . . . . . . . . 246
Getting Data from an Element’s Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Project: “I’m Feeling Lucky” Google Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Step 1: Get the Command Line Arguments and Request the Search Page . . . . 249
Step 2: Find All the Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Step 3: Open Web Browsers for Each Result . . . . . . . . . . . . . . . . . . . . . . . . 250
Ideas for Similar Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Project: Downloading All XKCD Comics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Step 1: Design the Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Step 2: Download the Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Step 3: Find and Download the Comic Image . . . . . . . . . . . . . . . . . . . . . . . 254
Step 4: Save the Image and Find the Previous Comic . . . . . . . . . . . . . . . . . . 255
Ideas for Similar Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Controlling the Browser with the selenium Module . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Starting a Selenium-Controlled Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Finding Elements on the Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Clicking the Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Filling Out and Submitting Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Sending Special Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Clicking Browser Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
More Information on Selenium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

Contents in Detail   xv
Exploring the Variety of Random
Documents with Different Content
Snelling, Thomas, of St. John’s college, Oxford.
Thibaldus tragoedia (issued afterwards as
Pharamus). 1640 S.
Socinus, Faustus, mentioned. 1636 G.
Solomeaux, Paul, of Vendome. Verses by him. 1638
C.
Solon. See Beacon, Richard, 1594.
Somers, John lord. His Tracts alluded to. 1602 H.
Somerville, Roger, stationer, mentioned, p. 269.
Sophronius, abbot, mentioned. 1633 G.
South, Warner. Poem by him, in Latin. 1609 B.
Southampton, earl of. See Wriothesley, Thomas.
Southcot, Thomas of Moones Ottery. Dedication to
him. 1612 S.
Spaen, Johannes Jacobus, mentioned, p. 270.
Spain. See Armada.
Spanish. See Bense, Petrus.
— Reglas grammaticales para aprender la lengua
Española y Francesa. 1586 S.
— Poems in Spanish. 1606 O, 1612 H.
Spark. A spark of Christ’s beauty (discourse on Is. ix.
6). 1622 S.
Sparke, Michael, printer of London, mentioned. 1631
W, 1633 G, pp. 304, 312.
— His business mark. 1631 B.
Sparke, Thomas. Funeral sermon on the earl of
Bedford, 1585. 1585 S, 1594 S.
— A catechisme (the Heidelberg catechism ed. by
Sparke, who prefixes a treatise on catechising,
and Seddon). 1588 C (bis).
— Answer to John de Albine’s Notable discourse
against heresies. 1591 S.
— Funeral sermon at Whaddon on lord Grey, 1593.
1593 S.
Sparke, William. The mystery of godliness. 1628 S.
Speculation. Twofold treatise ... one of Speculation,
the other a discovery of youth and old age. 1612 T.
Speculum Academicum, 1638, p. 235.
Spelling. See Phonetic spelling.
Spelman, sir Henry, mentioned, 1628 R.
Spencer library. See Manchester.
Spencer, Alice. See Egerton, Alice.
Spencer, Robert, lord Spencer of Wormleighton.
Sermon at his burial, 1627, and poems on him, by
R. Parre. 1628 P.
Spencer, William, lord Spencer of Wormleighton.
Dedications to him. 1628 P, 1629 T.
Spiegelius, mentioned, p 229.
Spier, William, bookseller, mentioned, pp. 298, 311,
312.
Spire, William, bookseller, mentioned, p. 274.
Spiritual odours. See Price, Daniel.
Sprint, John. Ad Comites Warwicensem et
Leicestrensem oratio, 1587. 1587 S.
Stadius, Johannes, d. 1579. Commentarius in L.
Annaeum Florum. 1631 F, 1638 F.
Stafford, sir Francis. Probably the “S. F. S.” to whom
a dedication is addressed in 1609. 1609 D, 1634 D.
Stafford, Robert. Probably the translator of Du
Moulin’s Héraclite into English. 1609 D, 1634 D.
Stainton-in-the-Street, or Great Stainton, co.
Durham, mentioned. 1598 I.
Stamford. Sir George St. Paul’s work there. 1613 C.
Stanbridge, John, mentioned, p. 257.
Stanhope, sir Henry. Dedication to him. 1627 W.
Stanhope, lady Katharine. Dedication to her. 1628 W.
Stanley, Ferdinand, earl of Derby. Dedication to him.
1593 G.
Stanley, Henry. Appendix ad libros tam Veteris quam
Novi Testamenti, 1630, p. 233.
Stanley, Henry, earl of Derby. Epicedium in obitum
Henrici comitis Derbeiensis, auctoribus M. Gwinne
et H. Price. 1593 G.
Stanley, James, lord Strange. Dedication to him.
1640 B.
Starkey, S. See Strong, Sampson.
Stationers, &c., in Oxford. Pp. 267–78.
Stationers’ Company, & Hall. See London—Stationers’
Company.
Stephanus, bookbinder, mentioned, p. 270.
Stephen, bookbinder, mentioned, p. 267.
Stephen, parchment-seller, mentioned, p. 267.
Stephens, Philemon, bookseller of London,
mentioned, pp. 301, 313.
Stephens, Jeremy. Edited Cyprian De bono
patientiae. 1633 C.
Stewart, Francis, master of Murray. Dedication to
him. 1607 C.
Stewart, John, son of the duke of Lennox. Deduction
to him. 1607 C.
Stewart, Ludovic, duke of Lennox. Dedication to him.
1621 T.
Stinton, George. Sermon Worcester Cathedral in time
of pestilence (on 1 Kings viii. 37–39). 1637 S.
Stonor. The Stonor press alluded to. 1601 H.
Stonyhurst, mentioned, p. 256.
Storre, William. Manner of the cruel murther of
William Storre, 1602. 1603 S.
Strada, Firmianus. Prolusiones academicæ. 1631 S.
Strange, lord. See Stanley, James.
Strangwayes, sir John. Dedication to him. 1630 A.
Strathyn, Henry, mentioned, p. 257.
Stricturae breves. See Wells, rev. William.
Stronge, alias Starkey, Sampson, illuminator,
mentioned, p. 276.
Studley, Thomas, of Virginia. Extracts from his
writings. 1612 S.
Suares, Jacques, a Portuguese Franciscan. Treatise
against him by Du Moulin. 1612 D.
Sudeley, mentioned. 1592 E, p. 229.
Suffolk, duke of. See Howard, Theophilus.
Suggeneia (συγγένεια), 1625. See Butler, Charles.
Suinesheved. See Swineshede, Roger.
Summaster, George, principal of Broadgates hall,
Oxford. Dedication to him. 1614 H.
Supremacy, Oath of. See Panke, John.
Supreme Governor. See under Panke, John.
Surprising of Heaven, 1625. See Rawlinson, John.
Susannah. See Roche, Robert.
Susquehanna, U. S. A. Picture of a
“Sasquesahanoug” native. 1612 S.
Sussex, earl of. See Ratcliffe, Henry.
Swayne, Robert (and Martha), printers of London,
mentioned. 1631 F, 1640 S, p. 235.
Swearing, 1625. See Taylor, John.
Swineshede, Roger (Suinesheved, Swincet).
Insolubilia Swynishede (a logical treatise). 1483 L.
Sylvester, Joshua. Poem by him. 1634 B.
Symbolum. See Creed.
Symeon Metaphrastes. Lives of Stt. John and Luke, in
Greek and Latin, ed. by R. Brett. 1597 S.
Synopsis anni. See Wyberd, John.
Synopsis statutorum. See Oxford—University, 1635.
Syriac. Poem in Syriac. 1612 H. See p. 230.
Syrretus, Antonius. Formalitates de mente Johannis
Duns Scoti, pp. 227, 273.

T.
T., B. A Preservative from becoming a Papist. 1629 T.
T., I:, see Dorne, John.
T., W., 1633. See Tipping, William.
Tacitus. End of Nero and beginning of Galba.
Histories, bks. 1–4. Life of Agricola. In English by
sir H. Savile. 1591 T.
— mentioned, p. 229.
Tavistock, mentioned, pp. 249, 263.
Taylor, bp. Jeremy. Gunpowder treason sermon at St.
Mary’s, 1638: on Luke ix. 54. 1638 T.
Taylor, John, the Water Poet. The fearful summer, or
London’s Calamity. 1625 T.
— Against swearing. 1625 T.
— His Farewell to Oxford. 1625 T.
Teimurases, prince, mentioned. 1633 G.
Tenison, archbp., mentioned, p. 262.
Terence. Vulgaria Terentii (sentences from Terence in
Latin and English). 1483 A, p. 257.
Terry, John. The trial of truth (1st part). 1600 T.
— Sermon, on John xvii. 17. 1617 T.
— Theological logic, the 3rd part of the Trial of
truth. 1625 T.
Textual Criticism, 1625. Rules by dr. James: see
James, Thomas.
Thame. Thame Park, mentioned. 1613 B.
Theocritus. Sixe idyllia in English verse. 1588 T.
Theodoricus, printer at Cologne, 1485–6, mentioned,
pp. 243, 262.
Theological logic, 1625. See Terry, John.
Theology. Scholastica locorum communium
theologiæ institutio, auctore L. Trelcatio. 1606 T.
Theorremon. See Chrysostom, st.
Thesaurus, Emanuel. Cæsares, et Carmina. 1637 T.
Thibaldus. See Snelling, Thomas.
Thicknesse, Francis Henry, suffragan bp. of Leicester,
mentioned. 1588 H.
Thistlethwaite, Peregrine and Dorothy. Dedication to
them. 1633 P.
Thomas, st., of Aquino. Index Thomisticus to
Pavonius’s Summa Ethicae. 1633 P.
Thomas, scribe, mentioned, p. 267 (bis), 270.
Thomas, Thomas, bookseller, of Bristol, mentioned,
pp. 309, 313.
Thomas, Thomas, printer, of Cambridge, mentioned.
1585 C.
— His dictionary (Camb. 1588), mentioned. 1589
R.
Thomson sale, mentioned, p. 257.
Thorn, Johan. See Dorne, John.
Thornborough, bp. John. Articles at his first
visitation. 1603 T.
— His “Discourse proving the utilitie of the Union
of England and Scotland,” 1604, mentioned.
1605 T.
— The joyful reuniting the two kingdoms, England
and Scotland. 1605 T.
— Λιθοθεωρικός sive nihil, aliquid, omnia
(alchemical). 1621 T.
— The last will and testament of Jesus Christ
(treatise on the Lord’s Supper). 1630 T.
Thornburgh, dr. Edward, archdeacon of Worcester.
Articles in his Visitation, 1638. 1638 T.
Thorne, William, of New college, Oxford. Tullius seu
Ῥήτωρ. 1592 T.
Thorpe, Thomas, bookseller, mentioned. 1640 C.
Throckmorton, sir Clement. Dedications to him. 1610
H, 1627 H.
Timotheus, pseud. See Salvianus, st.
Timothy’s task. See Mandevill, Robert.
Tipping, William. A discourse of Eternity, by W. T.
1633 T.
— A return of thankfulness for recovery out of
sickness. 1640 T.
Tithes. See B., E.
— See Parsons, Bartholomew.
Todkill, Anas, of Virginia. Extracts from his writings.
1612 S.
Toldervey, William, bookseller, mentioned, p. 277.
Tolson, dr. John, provost of Oriel college, Oxford.
Dedication to him. 1640 T.
Tombes, John. Edited Pemble’s Five sermons. 1628 P,
1629 P.
Tomson, Richard, mentioned, p. 258.
Tortura Torti. See Andrewes, Lancelot.
Tortus, Matthaeus. Pseudonym of card. Bellarminus.
1613 B.
Toulouse, mentioned. 1639 W.
Towneley sale, mentioned, p. 256.
Townley, Zouch. Oratio in memoriam Gul. Camdeni.
1624 O.
Tozer, Henry. Directions for a godly life. 1628 T, 1640
T.
— Sermon (A Christian amendment). 1633 T.
— Christus, sive dicta et facta Christi. 1634 T.
— Christian wisdom, a sermon on 1 Kings x. 40.
1639 T.
— Sermon on John xviii. 3. 1640 T.
Trafford, sir Edmond. Sermon at his daughter’s
wedding, dedicated to him, by W. Massie, 1586.
1586 M.
Trafford, Margaret. Sermon at her wedding, by W.
Massie, 1586. 1586 M.
Transcription. Cost in 1625. 1625 J.
— See Scribes.
Travers, Walter. Supplication to the Privy Council
(against Hooker). 1612 T.
— Answer to his supplication, by Rich. Hooker.
1612 H.
Treatise containing the aequity of an humble
supplication in the behalfe of Wales, 1587. See
Penry, John.
Trelcatius, Lucas. Scholastica locorum communium
theologiæ institutio adversus Bellarminum. 1606 T.
Trent, Council of. See Ranchin, Guillaume.
Treveris, Peter. Referred to as a printer at Oxford! p.
10: cf. p. 273.
Trial of truth, 1600. See Terry, John.
Trigge, Francis. Comment. in cap. 12 ep. ad Rom.
1590 T.
— Noctes sacrae seu lucubrationes in primam
partem Apocalypseos. 1590 T.
— Analysis cap. 24 Evangelii secundum
Matthaeum. 1591 T.
— Sermon (on Is. xxiv. 1–3) at Grantham, 1592.
1594 T, 1595 T.
Trithemius, Johannes. Account of st. Salvianus, in
Latin. 1629 S.
Truman, rev. Richard. Christian memorandum or
Doctrine of Reproof. 1629 T.
Tuesday. Proverb about Tuesday being unfortunate to
Irish. 1612 D.
Turkey. Account of hardships endured by Chr.
Angelus at the hand of the Turks: in Greek. 1617
A.
— — (the same in English). 1617 A.
Turkish. Poem in Turkish. 1612 H.
Turner, William, printer, of Oxford and London. Note
on the connexion between his two establishments.
1633 G.
— Address to the reader. 1633 B: 1634 B (bis).
— His disputes with John Lichfield, mentioned.
1636 L.
— mentioned, pp. 276, 298, 311, 312.
Turnour, Robert, mentioned, p. 246.
Tutet, M. C., mentioned, p. 252.
Twittee, Thomas, of Oriel college, Oxford. Concio ad
clerum (1 Pet. iii. 8). 1640 T.
Two Sermons. See King, Henry, 1625.
Twofold treatise. See under Speculation, 1612.
Twyne, Brian. Antiquitatis Academiæ Oxoniensis
apologia. 1608 T, 1620 T.
— Miscellanea de antiquis aulis et collegiis. Ibid.
— Summorum Oxoniensis Academiae
magistratuum catalogus. Ibid.
— Wrote the preface of the Corpus Statutorum
Universitatis Oxon. 1634 O.
Tylia nemore, Willelmus de. See Lyndewoode,
William.
Type at Oxford. See Oxford—Printing.
Tyrius, Maximus. See Maximus, Tyrius.
Tyrwhitt, William, mentioned. 1639 B.

U.
U, letter. Change from u consonantal to v in printing,
noticed. 1589 U, p. 292.
Ubaldini, Petruccio. La Vita di Carlo Magno,
mentioned. 1599 U.
Umbra. See Wouwerus, Joannes.
Uncle, John, mentioned, p. 257.
Underhill, John, vice-chancellor of the University of
Oxford. Latin Verses by him quoted. 1585 C.
Unfortunate politique, the. See Caussin, Nicolas.
University. Note on the old spelling of the word, p.
292.
Unton, sir Henry. Dedications to him. 1588 C, 1594 L.
— Funebria d. Henrici Unton (memorial poems).
1596 U.
Urmstone, rev. Shaw, mentioned, p. 230.
Ursino, card. Alexander. Dedication to him. 1631 S.
Ursinus, —, mentioned. 1594 P.
Ursinus, Zacharias. Summe of Christian religion
(based on the Tractationes theologicae), tr. by H.
Parrie. 1587 U (see p. x), 1589 U, 1591 U, 1595 U,
1601 U.
— Discourses, translated by I. H. 1600 U.
— Funeral oration on him by F. Junius, tr. into
English. 1600 U.
Urso of Salerno, 13th cent. physician. De primarum
qualitatum arcanis & effectibus. 1590 B.
Ussher, archbp. James. Letter about Hakewill’s
Apology. 1630 H.
— Dedication to him. 1640 C.
— mentioned. 1640 C.
Usury. See Blaxton, John.
— See Powel, Gabriel.
Utterson sale, mentioned, p. 261.
Utting, John, mentioned, p. 258.

V.
V, letter. See under U.
V., I., 1615, 1620, 1637. See Verneuil, John.
— mentioned. 1612 M.
V., I. P., 1624. See Prideaux, John.
Valdés, Juan de. Hundred and ten Considerations, tr.
into English by N. Ferrar. 1638 V.
Valentia, Gregorius de. See Gregorius de Valentia.
Valois, house of, mentioned. 1634 B.
Vaughan, archdn. Richard. Dedication to dr. R.
“Vychan,” in Welsh. 1595 W.
Vavasour, William, scribe, mentioned, p. 272.
Veldener, Jean, mentioned, p. 243.
Venice. Venetians mentioned as early printers and
booksellers. 1485 P.
— Venetian printing mentioned, p. 250.
Vergerius, Petrus Paulus, mentioned. 1638 V.
Veritas odiosa. See Attonitus, Richardus.
Verneuil, John. Perhaps (as “I. V.”) translated 1615 M
(Mornay) from the French: possibly also 1612 M
(Mornay).
— Translated (as “I. V.”) a sermon by Du Moulin.
1620 D.
— Translated Cameron’s Sovereign judge. 1628 C.
— Catalogus interpretum S. Scripturae in
bibliotheca Bodleiana (anonymous, by J.
Verneuil, but based on James’s work). 1635 V.
— A Nomenclator of such tracts and sermons as
have been printed in English on any place of
Holy Scripture, by I. V. 1637 V.
Vernon, sir Robert. Dedication to him. 1604 C.
Verulam, lord. See Bacon, Francis, lord Verulam.
Vicars, Thomas. Edited Mandevill’s Timothy’s task.
1619 M.
— Edited Carleton’s Ἀστρολογομανία. 1624 C.
Vicars, Thomas (“Gallager,” = of Cockfield). Pusillus
grex, refutatio Caelii Secundi Curionis (with some
letters). 1627 V.
Vienne. See Councils.
Vigilius. Extract from Vigilius about the Incarnation.
1600 U.
Villa Dei, Alexander de. See Alexander de Villa Dei.
Villiers, George, duke of Buckingham, d. 1629.
Dedications to him. 1628 F, S, 1636 F.
Villiers, Victor Albert, earl of Jersey, mentioned, p. 9.
Vincentius Lirinensis. Vincentii vel Peregrini Adversus
Haereses Commonitoria duo. 1631 V.
Vindiciae fidei. See Pemble, William.
Virgil. The first Aeneid tr. into English verse by G.
S(andys). 1632 O.
— mentioned. 1485 P.
Virginia. See Smith, capt. John, 1612.
Vitae selectorum virorum. See Bates, William.
Vitellescus, Mutius. Dedication to him. 1633 P.
Vitriol. Regarded as of importance in alchemy, by bp.
Thornborough. 1621 T.
Voeglerus, Hieronymus. Dedication to him. 1636 W.
Voragine, Jacobus de. See Jacobus de Voragine.
Vosgraf or Foxgrave, a possible printer, mentioned, p.
12.
Vossius, Gerardus Johannes. Theses theologicae et
historicae. 1628 V, 1631 V.
— Rhetorices contractae sive partitionum
oratoriarum libri V, ed. altera. 1631 V.
— Responsio ad judicium H. Ravenspergeri de
Grotii Defensione fidei catholicae (he also edited
Grotius’s original work). 1636 G.
Vries, dr. Abr. de. His sale at Amsterdam 1864,
mentioned, p. 9.
Vychan. See Vaughan.

W.
W., A., 1631. See Walkington, Thomas.
W., D., 1596. See Whear, Degory.
W., J., 1640. See Westall, John.
— 1628. See Wouwerus, Joannes.
W., R., 1614. See Willet, Rowland.
— of Hart hall, Oxford. Translated Merry Jests out
of French. 1617 W.
W., S. Latin complimentary poems to C. Butler. 1633
B (bis).
W., T. Radices Graecae linguae. 1627 H.
Waade (or Wadd), William. Acrostic to him. 1589 R.
Wade, —. Preface addressed to him. 1586 S.
Wadloffe, James, parchment-seller, mentioned, p.
274.
Wake, Isaac. Rex Platonicus. 1607 W (bis), 1615 W,
1627 W, 1635 W.
— Oratio funebris habita ab I. Wake (in memoriam
I. Rainoldi) 25 Maii 1607. 1607 W, 1608 W, 1614
R, 1615 W, 1627 W, 1635 W.
— Oratio funebris (on sir Thomas Bodley). 1613 O.
Wake, John, illuminator, mentioned, p. 270.
Wakeman, Robert. Act Sermon 1604 (on Acts ii. 46).
1605 W.
— Sermon before the King 30 Apr. 1605 (on 2
Chron. ix. 8). 1605 W.
— Sermon, on Jonah iii-v (1603) 2nd impression.
1606 W.
— Jonah’s Sermon and Nineveh’s Repentance. 3rd
ed. 1612 W.
Wales. Supplication on behalfe of Wales [by J.
Penry]. 1587 P.
Walkington, Thomas. The Optic-glass of Humors by
T. W. (also attributed to Tho. Wilbie and T.
Wombwell). 1631 W.
Wall, dr. John. Verses by him. 1616 P.
— The watering of Apollos, a Sermon on Acts xviii.
28. 1625 W.
— Jacob’s Ladder, a sermon on 1 Pet. v. 6. 1626 W.
— Sermon on Matth. xxi. 9. 1627 W.
— The Lion in the Lamb, a sermon on Rev. vii. 10.
1628 W.
Walles, Richard, bookseller, mentioned, p. 274.
Wallop, sir Henry. Dedication to him. 1616 F.
Walsingham, sir Francis. Dedications to him. 1589 R,
1627 H.
Walter, bookbinder, mentioned, pp. 267, 269.
Walter de Ensham, illuminator, mentioned, p. 267.
Walton, Adam de. See Adam de Walton.
Walton, Izaak, mentioned, 1613 B.
Wandesford, Christopher, viscount Castlecomer,
mentioned, p. 256.
Warcop, Ralph. Encomion Rodolphi Warcoppi (poems
to his memory). 1605 O.
Warner, John, mentioned, p. 255.
Warwick, earl of. See Dudley, Ambrose.
Watering of Apollos. See Wall, John.
Watermarks, p. 244.
Waters of Siloë. See Du Moulin, Pierre.
Waterson, Simon, bookseller of London, mentioned,
pp. 296, 311.
Wats, Gilbert. Translated Bacon’s Advancement of
learning, and wrote prefaces, &c. 1640 B.
Watson, sir Lewis. Dedication to him. 1635 F.
Watt, dr. Robert, mentioned, 1633 P.
Way, R. See Nixon, Robert.
Waynflete, bp. William (Patten), founder of Magdalen
college, Oxford. Gulielmi ... Waynfleti ... vita
obitusque (auctore J. Buddeno). 1602 B.
— mentioned. 1589 H.
Waystiell, Lancelot, stationer, mentioned, p. 276.
Wayte, Nicholas, bookseller, mentioned, p. 274.
Webbe, William, stationer, &c., mentioned, pp. 277,
301, 312, 313.
Welbourn, co. Linc., mentioned. 1591 T.
Wells, rev. William. Epistola ad authorem libelli
Stricturae breves in Epistolas Genevensium et
Oxoniensium [anon.] (imprint 1608 for 1708).
1608 W.
Welsh. Welsh book printed at Oxford. 1595 W.
Wenman, sir Richard, lord Wenman. Dedication to
him. 1613 B.
Wermueller, Otto. Perl mewn Adfyd (translated from
the German into English by Miles Coverdale, and
from English into Welsh by H. Lewys). 1595 W.
Wescombe, Martin. Fabulae pontificiae dissipatae.
1639 W.
West, James, mentioned, p. 252.
Westall, John, bookseller. Signs the preface of 1640
P, as “J. W.”
— mentioned, pp. 277, 309, 312.
Westerman, William, mentioned. 1640 B.
Westfaling, Herbert, bp. of Hereford, Articles to be
inquired of by the Churchwardens &c. within the
diocese of Hereford, 1586. 1586 W.
Westphalia, John of, mentioned, p. 242.
Wethereld, Thomas, of Queen’s college, Oxford. Latin
poem on his death, by Gerard Langbaine. 1636 L.
Wh., Diag. 1596. See Whear, Degory.
Whaddon. See under Sparke, Thomas, 1593.
Wharton, rev. Rich. (?), vicar of St. Mary the Virgin’s,
Oxford, mentioned. 1612 D.
Whear, Degory. Verses by him, signed D. W. and
Diag. Wh. 1596 F.
— Parentatio historica, sive commemoratio Gul.
Camdeni. 1624 O, 1628 W.
— Nuncius chronogrammaticus (de Camdeno).
1624 O, 1628 W.
— De ratione et methodo legendi historias:
praemittitur Oratio auspicalis. 1625 W.
— Pietas erga benefactores, mentioned. 1626 W.
— Latin letters to accompany his Methodus
historica, 1625. 1628 W.
— Pietas erga benefactores (Parentatio historica
manibus Camdeni oblata, 1623: Nuntius
Chronogrammaticus, de obitu Camdeni:
Dedicatio imaginis Camdenianae, 1626:
Epistolae eucharisticae: Charisteria, 1626). 1628
W.
— Relectiones hyemales de ratione et methodo
legendi historias (3rd ed.). 1637 W.
Whichford, mentioned, 1632 D.
Whitaker, William. Latin letter to him from dr. John
Rainolds. 1614 R.
White, Antony. Truth and error, two sermons. 1628
W.
White, dr. Thomas. Schola moralis philosophiae
Oxon. in funere Whiti pullata (poems and oration).
1624 O.
Whitgift, John, archbp. of Canterbury. Dedication to
him. 1602 P.
— mentioned. 1610 B.
Whittington, Robert. De heteroclitis nominibus et de
gradibus comparationis. 1518 W, pp. 257, 264.
— “1500,” p. 10.
— De concinnitate grammatices. Oxf. “1519,”
mentioned, p. 12.
Wickliffe, John. See Wyclif, John.
Widdowes, Giles. The schismatical puritan, a sermon
(on 1 Cor. xiv. 40). 1630 W, 1631 W.
— mentioned. 1631 P.
Wiffin, Richard, of Virginia. Extracts from his writings.
1612 S.
Wight, John, printer, mentioned, p. 228.
Wilbie, Thomas. See Walkington, Thomas.
Wilcox, Richard, bookseller, mentioned, p. 276.
Wildgoose, William, bookseller, mentioned, p. 277.
Wilkinson, John, of Magdalen coll. Oxford,
mentioned. 1612 H.
Willett, Andrew. His Limbomastix and Loidoromastix
or a scourge for a railer referred to. 1604 A.
Willett, Rowland. Translated Papistogelastes by N. S.,
as “R. W.” 1614 S.
William, bookbinder, mentioned, p. 268 (bis).
William, illuminator, mentioned, pp. 267, 269, 270.
William, scribe, mentioned, p. 267.
William of Nottingham, scribe, mentioned, p. 268.
William de Pickering, bookbinder, mentioned, p. 267.
Williams, John, archbp. of York. De humorum
numero &c. 1590 B.
— Edited Roger Bacon’s treatise de Senectute and
Urso’s de primis qualitatibus. 1590 B.
— University sermon on Rev. x. 1. 1597 W.
— Dedications to him. 1625 J, W, 1627 R.
Willoughby, John. Theorremon, (selections from st.
Chrysostom, made and translated by J.
Willoughby). 1602 C.
— Treatise for the preparation of the Lord’s
Supper. 1603 W.
Wilmot, John, stationer, &c., mentioned, pp. 278,
307, 312, 313.
Wilson, Mathias, alias Edw. Knott, alias Nicholas
Smith, a Jesuit. Charity Mistaken by Edw. Knott,
mentioned. 1633 P.
— The Religion of Protestants (an answer to
Wilson’s Charity maintained) by W. Chillingworth.
1638 C.
Wilson, Stephen, bookseller and bookbinder,
mentioned, p. 275.
Wilson, Thomas. Dedication to him. 1614 R.
Wilton, co. Wilts. Book in the earl of Pembroke’s
Library at Wilton, mentioned, p. 9.
Wilton, lord Grey of. See Grey, Arthur.
Wiltshire. A masque chiefly in Wiltshire dialect. 1636
M.
Winchester. Preces in usum scholae Wintoniensis &c.,
auctore H. Robinson. 1616 R.
Windsor. Thomas, mentioned, p. 259.
Winniffe, dr. Thomas, dean of St. Paul’s. Dedication
to him. 1640 C.
Winterton, R., mentioned. 1633 G.
Wirley, rev. Edward, rector of St. Ebbe’s, Oxford. Two
Greek poems by him. 1638 B.
Wither, George. An answer to Wither’s Motto, by T.
G. 1625 G.
— Poems by him. 1634 B (bis).
Wodebrigge, William, mentioned, p. 255.
Wolfius, Johannes, of Zürich. Latin letter to him from
J. Acontius, 1562. 1631 A.
Wolley, sir John and lady Elizabeth. Dedication to
them. 1595 M.
Wolsey, cardinal, mentioned, p. 12.
Wombwell, Thomas. See Walkington, Thomas.
Wood, Antony. Date depending on his accuracy. 1614
D.
— Confuses the editions of Rainolds’s Orationes.
1614 R.
— His Athenæ Oxonienses mentioned, passim.
Wood, James, parchment-seller, mentioned, p. 274.
Woodcuts. See Engravings.
Woodstock. Churchyard’s Handful of gladsome verses
given to the Queen at Woodstock, 1592. 1592 C.
Worcester, archdeaconry. Articles in the Visitation of
Edw. Thornburgh, archdeacon of Worcester, 1638.
1638 T.
Worcester, city. Dedication to it. 1637 S.
Worde, Wynkin de, mentioned. 1485 A, p. 263.
Wotton under Edge, co. Gloucester. Sermon delivered
there in 1605, by S. Benefield. 1613 B.
Wotton, sir Henry. Dedication to him. 1637 B.
Wouwerus, Johannes. Pietas erga Benefactores.
1626 W.
— mentioned, 1628 W; as J. W. 1628 C.
— Dies aestiva sive de Umbra paegnion, cum
Dousae in eam declamatione. 1636 W.
Wrench, William, printer, mentioned, pp. 276, 297,
311.
Wright, Abraham. Deliciae deliciarum, sive
Epigrammatum ἀνθολογία, opera A. Wright. 1637
D.
Wright, John, publisher of London, mentioned. 1617
H.
Wright, Richard, of Oxford, mentioned, pp. 229, 311.
Wright, Richard, bookseller of London, mentioned,
pp. 275, 295.
Wright, Robert. Editor of Untoni Funebria. 1596 U.
Wright, William, mentioned, p. 252.
Wriothesley, Thomas, earl of Southampton.
Dedication to him. 1628 P.
Writtle. See Petre.
Wroughton, lady Katherine. Dedication to her. 1604
P.
Wybarun, dr. Thomas. A binding done for him in
1467, mentioned, p. 272.
Wyberd, John. Synopsis Anni Christi 1637, sive
Diarium (an almanac with prognostications). 1637
W.
Wyclif, dr. John. Apologie for John Wyclif, by dr.
James: with a Life of Wyclif. 1608 J.
— Two short treatises (Four articles, and
objections of Friars): ed. by dr. James, with
glossary. 1608 W.
— Wickliffe’s wicket, a treatise on the Sacrament
(a reprint of an ed. of 1546 (?)). 1612 W.
Wyffin. See Wiffin.

Y.
Yon, bookbinder, mentioned, p. 268.
York, mentioned, p. 263.
Young, dr. John, dean of Winchester. Dedications to
him. 1623 G, 1625 G.
Young, Patrick (Patricius Junius). Edited Clement’s
Epistola ad Corinthios prima. 1633 C.
— Dedication to him. 1635 C.
Young, Robert, bookseller, mentioned, pp. 278, 310,
313.
Younger brother’s apology. See Allen, John.
Youth and Old Age. See under Speculation, 1612.

Z.
Z., R., 1629, 1640. See Zouche, Richard.
Zamoyskius, Thomas. Dedication to him. 1634 S.
Zel, Ulric, mentioned, pp. 242, 249.
Zouche, dr. Richard. Elementa jurisprudentiae, autore
R. Z. 1629 Z.
— — (with author’s name). 1636 Z.
— mentioned. 1634 O.
— Descriptio juris et judicii feudalis, secundum
consuetudines Mediolani et Normanniae. 1634 Z.
— Descriptio juris et judicii ecclesiastici secundum
canones et constitutiones Anglicanas. 1636 Z.
— Descriptio juris et judicii temporalis secundum
consuetudines feudales et Normannicas. 1636 Z.
— Descriptio juris et judicii militaris, nec non
maritimi, autore R. Z. 1640 Z.
— Descriptio juris et judicii sacri. 1640 Z.
THE END

Oxford

PRINTED AT THE CLARENDON PRESS

BY HORACE HART, PRINTER TO THE UNIVERSITY

TYPE 1 II

JERONIMUS,
OXFORD, “1468”
TYPES III
2, 3

LATTEBURIUS,
OXFORD, 1482

TYPES IV
3, 4, 5,
6

LYNDEWOODE,
OXFORD (1483?)
TYPES V
5, 7

FESTIAL, OXFORD,
14867

VI
BURLEY ON
ARISTOTLE,
OXFORD, 1517

VII
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookultra.com

You might also like