Lo que tu quieres es un
filelock que básicamente lo que hace es lo siguiente:
Supón que tu programa se llama A.py (y quieres que corra una sola vez)
1.- A.py verifica si hay lockfile.
2.- Si existe entonces A.py ya se encuentra corriendo. Entonces termina el proceso
3.- Si no existe entonces eres la primera instancia en correr. Creas el lockfile y lo eliminas al terminar.
http://stackoverflow.com/questions/4...file-in-python