Internet Modules and Tools

This section summarizes Python’s support for Internet scripting.

Commonly Used Library Modules

Following are summaries of some of the more commonly used modules in the Python Internet modules set. This is just a representative sample; see the Python Library Reference for a more complete list.


Low-level network communications support (TCP/IP, UDP, etc.). Interfaces for sending and receiving data over BSD-style sockets: socket.socket() makes an object with socket call methods (e.g., object.bind()). Most protocol and server modules use this module internally.

socketserver (SocketServer in Python 2.X)

Framework for general threading and forking network servers.


Encodes binary data portably (also see socket modules earlier in this list).


Interfaces to Unix and Windows select function. Waits for activity on one of N files or sockets. Commonly used to multiplex among multiple streams or to implement timeouts. Works only for sockets on Windows, not files.


Server-side CGI script support: cgi.FieldStorage parses the input stream; cgi.escape applies HTML escape conventions to output streams. To parse and access form information: after a CGI script calls form=cgi.FieldStorage(), form is a dictionary-like object with one entry per form field (e.g., form["name"].value is form field name text).

urllib.request (urllib, urllib2 in Python 2.X)

Fetches web pages and server script outputs from their Internet addresses (URLs): urllib.request.urlopen(url) returns ...

Get Python Pocket Reference, 4th Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.