Manipulating Common Data Files in Python

The Python Programming Language

Copyright 2011 by Stephen Vermeulen
Last updated: 2011 Mar 10
Software Applications written in Python





allows attempt author build capable cheeseshop cloud collection commercial common doc dynamic great height installed installing ipod jan java last links little low made mobile modules needed object people performance phone platform pocket portable programming remove say says services simple something ssl start starting stick stock tool tools unicode versions width wxpython yet
Python is a cross-platform, application development and scripting language. Well, that broad statement probably misses a host of areas Python is being used in, but its a start. It is an object-oriented language that has a low "code-overhead", by this I mean you don't have to write a lot of code to do something simple (like you do in C++ and to a lesser extent in Java).

Python is also free and the license allows for it to be integrated with commercial software without the commercial software also having to be made free (i.e. its not a GNU GPL type license).

The main web site for this is www.python.org. Enthought provides a pre-packaged Python installation which includes many additional modules.

Some useful extensions you may want to consider installing are:
  • Python for Windows, this can be downloaded from SourceForge. If you are using Python on a Windows platform this can be very useful.
  • wxPython, a cross-platform GUI library based on wxWidgets.
  • Python Imaging Library, known as PIL, is a very good tool for manipulating bitmap graphics and their files.
  • NumPy or Numeric modules to support scientific calculations. These can make working with large arrays of data much faster.
  • PyCrypto (the author's site is here) a good module for working with cryptography, prebuilt binaries are available from Voidspace here.
  • paramiko a library for working with SSH connections.
  • tlslite a library for implementing the SSL/TLS protocols in network clients and servers, this is probably being replaced by the enhancements that are being made to the SSL module in Python 2.5 and higher. This available on PyPI here, so it can be installed by doing easy_install tlslite. As an alternative, if you have Visual C++ installed (version 2003 works) then it will build the library that is needed automatically as part of doing the "setup.py install".

My Python programs that you can download from here are:

  1. makeotp.py, a utility to make one time pads to encrypt short pieces of data
  2. PictaTrove, a photo sharing web server
  3. arcvback, a backup software suite (the Cheeseshop page for it)

Daily Python is a good summary of what's new and neat in the Python community.

The Python Cookbook is a great place to look for recipes. Some of this has been printed in The Python Cookbook (see below). The recipes that I have found interesting are listed here.


  • Other sources of information on Python, such as books, tutorials, guides, wikis are here.
  • There are quite a number of books on Python, the ones I have bought, used and recommend are here.
  • Significant news items regarding Python are recorded here.
  • Various Python topics that I have not sorted into the appropriate categories yet.
  • Web platforms and other networking issues, here.
  • Web services that can be used from Python (such as Google, Yahoo and EBay) are discussed here.
  • Setting up an SSL capable server, here.
  • Python programming techniques here.
  • Testing Python applications, here.
  • General Python libraries and language topics here.
  • Relational and object databases and Python, here.
  • XML file creation and processing in Python, here.
  • PDF file creation and manipulation with Python is discussed here.
  • Manipulating common data files in Python, here.
  • Image processing topics.
  • Printing in Python, here.
  • Packaging tools for Python here.
  • UNICODE, here.
  • Using the win32api from within Python, here.
  • Windows authentication topics here.
  • IronPython is Microsoft's .NET integrated Python.
  • Writing GUI applications in Python, here.
  • Graphics in Python, including 2D, 3D and gaming, here.
  • Multimedia here.
  • Mathematical and scientific processing with Python (statistics, numerical analysis, optimization, wavelets...), here.
  • Interfacing Python to C or C++, here.
  • Cryptography in Python, here.
  • Working with RSS feeds in Python.
  • Backup software implemented with Python, here.
  • Applications that are written in Python, here.
  • Stock market analysis in Python, here.
  • Text indexing in Python, here.
  • 2011-Mar-10: Python Tools for Visual Studio, Microsoft is starting to add more support for Python. [9448]
  • 2010-Sep-23: Nuitka is a pure Python compiler, still in its early stages. [9376]
  • 2010-Jan-08: The Little Bit of Python podcast got a start in 2010. [8893]
  • 2009-May-28: Some list of things that some people don't like about Python. [8052]
  • 2009-May-15: One man finds that after a year of using Python he no long finds himself slipping back to Lisp. [7982]
  • 2009-Apr-02: Portable Python is a Python programming environment configured to be run from a USB memory stick, so you can carry it with you for fast access to a Python environment on any PC without installing anything. [7818]
  • 2009-Mar-27: The Unlden-Swallow is a project to accelerate CPython, it will also be making an attempt to remove the GIL. Discussed here on Slashdot and here on ars technica. [7801]
  • 2009-Feb-13: A collection of links to various versions of Python for mobile devices, such as Palm, Garmin, iPod, iRiver, Zaurus, Pocket PC and even Flyweight for 8 bit processors with only 64K. This page was suggested in this discussion of running Python on a cell phone. [7573]
  • 2009-Jan-14: Guido talks about the history of Python. [7435]
  • 2008-Nov-10: Some say that Python programs might be only a tenth the size of an equivalent C# program. [7185]
  • 2008-Jul-25: A short Python for Executives note that comments on some practical experience with IronPython. [6579]



              back to vermeulen.ca home