Блокировка файла обычно зависит от платформы, поэтому вам может потребоваться возможность запуска в разных операционных системах. Например:
import os
def my_lock(f):
if os.name == "posix":
# Unix or OS X specific locking here
elif os.name == "nt":
# Windows specific locking here
else:
print "Unknown operating system, lock unavailable"