More Standard Modules

“Now, imagine that your friend kept complaining that she didn’t want to visit you since she found it too hard to climb up the drain pipe, and you kept telling her to use the friggin’ stairs like everyone else…”

eff-bot, June 1998


This chapter describes a number of modules that are used in many Python programs. It’s perfectly possible to write large Python programs without using them, but they can help you save a lot of time and effort.

Files and streams

The fileinput module makes it easy to write different kinds of text filters. This module provides a wrapper class, which lets you use a simple for-in statement to loop over the contents of one or more text files.

The StringIO module (and the cStringIO variant) implements an in-memory file object. You can use StringIO objects in many places where Python expects an ordinary file object.

Type wrappers

UserDict, UserList, and UserString are thin wrappers on top of the corresponding built-in types. But unlike the built-in types, these wrappers can be subclassed. This can come in handy if you need a class that works almost like a built-in type, but has one or more extra methods.

Random numbers

The random module provides a number of different random number generators. The whrandom module is similar, but it also allows you to create multiple generator objects.

Digests and encryption algorithms

The md5 and sha modules are used to calculate cryptographically strong message signatures (so-called “message digests”).

The crypt module implements a DES-style one-way encryption. This module is usually only available on Unix systems.

The rotor module provides simple two-way encryption.


The fileinput module

The shutil module

The tempfile module

The StringIO module

The cStringIO module

The mmap module

The UserDict module

The UserList module

The UserString module

The traceback module

The errno module

The getopt module

The getpass module

The glob module

The fnmatch module

The random module

The whrandom module

The md5 module

The sha module

The crypt module

The rotor module

The zlib module

The code module


A Django site. rendered by a django application. hosted by webfaction.