Python Create - Modify - Reuse
Download
Introduction
Python: Create - Modify - Reuse is designed for all levels of Python developers interested in a practical,
hands - on way of learning Python development. This book is designed to show you how to use Python
(in combination with the raw processing power of your computer) to accomplish real - world tasks in a
more efficient way. Don ’ t look for an exhaustive description of the Python language — you won ’ t find it.
The book ’ s main purpose is not to thoroughly cover the Python language, but rather to show how you
can use Python to create robust, real - world applications.
In this respect, the goal is similar to foreign - language books that identify themselves as “ conversational, ”
focusing on the vocabulary and concepts that people will need the most. Likewise, I focus specifically on
the Python knowledge needed to accomplish practical, specific tasks. Along the way, you will learn to
create useful, efficient scripts that are easy to maintain and enhance.
Who This Book Is For
This book is for developers with some experience with Python who want to explore how to develop
full - blown applications. It is also for developers with experience in other languages who want to learn
Python by building robust applications. It is well - suited for developers who like to “ learn by doing, ”
rather than exploring a language feature by feature. To get the most out of the book, you should
understand basic programming principles.
Because this book is project - based, you can approach it in numerous ways. You can, of course, read it from
cover to cover. Chapters 2 through 8 each cover a different project, so the chapters are independent of
each other. However, because each chapter project is covered individually, there may be some overlap
of information. I also sometimes refer to explanations of particular topics covered in previous chapters.
This will help to reinforce important concepts.
The end of the book contains two appendixes. The first one is a listing of Python resources you can check
out for more information. The second one will help you with installing additional components used in
some of the examples
How This Book Is Structured
1. A Python Primer
This chapter is a basic primer on the Python language, and it functions as either a quick tutorial
for experienced programmers new to Python or a refresher for programmers with Python
experience.
Part I : The Projects
2. Directory/File Snapshot Program
This project demonstrates how to interact with files, create and manipulate data structures, and
provide user output. It also touches on code design issues to improve code maintainability.
Often when installing or uninstalling software, or verifying changes to a file system, it can be
valuable to take a “ snapshot ” of the files and directories, along with their size and last - modified
time. The script introduced in this chapter does just that. This chapter also explores how to
capture a directory listing into a Python list, and explains how to query this list for particular
values.
3. DVD Inventory System
This project takes advantage of Python ’ s capability to access and manipulate data in a SQL
database. The application enables multiple users to log in to a website that provides access to a
DVD inventory database. Permissions are set such that some users can add, modify, or delete
entries, whereas other users have read - only access to the data.
4. Web Performance Tester
This project shows how to communicate with a Python web server and retrieve information
regarding how long it takes to receive requested items from the web server. Although writing
Python programs to work on a single computer can be useful, the real power of Python can be
seen when it is used to script communication between computers on a network. Most networks
contain several web servers. A nice feature of Python is that it can act as a lightweight server for
various Internet protocols, such as HTTP (web) and ftp. This application enables you to monitor
performance of HTTP traffic on your network.
5. Customer Follow - Up System
This project shows how to present a web form to the user and retrieve data from it, how to
automatically format and send e - mail through an SMTP server, and how to generate an HTML -
formatted report. The task for the second example is to automatically generate a customer
comments e - mail message based on information the customer enters in a form. It uses the
mod_python Apache module to take the information entered in the HTTP form and then utilizes
a Python script on the web server to send that information to an SMTP server for mail delivery.
6. Test Management/Reporting System
This project makes use of the unittest module to run tests against an existing application, and
creates a framework for reporting test results. Testing is a vital process for developing software.
This application enables users to run tests for a given piece of software, to list the previous test
runs by date, to show test run results for any previously run tests, and to output the results of
any test run as HTML for viewing in a web browser.
7. Version Management System
This project connects to a list of servers via telnet, checks the application version of a pre - set
application list, and displays its results both as output and to a log file. Often, a system
administrator needs to patch systems or ensure that systems have the latest application versions
installed. This script is an easy way to accomplish that task. It makes use of Python ’ s capability
to emulate a telnet client and log in to remote systems and perform functions on that remote
system.
8. Content Management System
This project explores Plone, a popular content management system based on Python and Zope
(a Python - based application server). Because Python is a very mature language, numerous
applications have been built on top of it. A great thing about working with Python - based
applications is that you get the benefit of a full - blown application, but you can still use Python
to configure and customize it.
Part II : Advanced Topics
9. Interacting with the Operating System
When writing scripts “ in the real world, ” often it is critical to be able to access services available
through (and particular to) the operating system you happen to be on. For example, suppose
you wanted to read or modify the Window Registry? Or you wanted to get the Linux process ID
of a particular process that is running? Is such a thing even possible? Definitely — and this
chapter shows you how.
10. Debugging and Testing
Because I am a software tester myself, testing is a subject that is certainly close to my heart. In
this chapter, I discuss why testing is important, how to put the right amount of testing into your
code, and how writing automated tests can help you to actually write code more quickly. You ’ ll
look at PyUnit, the automated testing framework for Python, and learn how to use it to test the
riskiest parts of a script. You ’ ll also explore the Python debugger and some of the nifty features
it offers.
Appendix A Where to Go from Here: Resources That Can Help
This appendix provides an annotated list of books, websites, and blogs that can provide useful
information, insight, and inspiration for the budding Python script developer.
Appendix B Installing Supplemental Programs
This appendix provides detailed information on how to set up MySQL (used in the project in
Chapter 3 ) and PyWin32 (used in Chapter 10 and various other projects in the book)
Home Web Development Python Create - Modify - Reuse