位置を指定して文字列を挿入

文字列はimmutableなので、昔は

def insert(pos, s, x):
  return x.join([s[:pos], s[pos:] ])

とかやってましたけど、Python 2.6あたりからbytearrayが入ったので、頻繁にinsert操作するならこちらがお奨めです。
ただ、ちょっと気をつけないといけないのは...

import uuid

s = bytearray('%012X' % uuid.getnode())
print s

for i in xrange(len(s)-2, 0, -2):
  s.insert(i, ':')
print s
0123456789AB
01:23:45:67:89:AB

末尾の方からinsertしていかないと位置がずれるってことですね。