Thank you so much for all your advice. I have learnt a lot. In the end, the solution was perhaps self evident. Why try and build a huge string AND THEN write it to file when you can just write it to file? Writing this much data directly to file completed in ~1.5 seconds instead of the 3-4 seconds that any of the .join methods produced.
Interestingly, I found that my tests agreed with Bruno. There wasn't a huge change in speed between a lot of the other methods, other than them looking a lot tidier. Again, many thanks. Dan -- http://mail.python.org/mailman/listinfo/python-list