from os import urandom def cstring(bytes): ret='' while(len(ret)<bytes): c=os.urandom(1) if c>'0' and c<'z': ret=ret+c return ret That should do it, though I bet there might be a more efficient way. I don't know if that's the set of characters you want to use, but... If you want a better answer, you'd have to be more specific.