¿Cómo puedo hacer que un script de Python se cambie solo?

¿Cómo puedo hacer que un script de Python se cambie solo?

Para reducirlo, me gustaría tener un script de Python (run.py)Me gusta esto

a = 0
b = 1
print a + b
# do something here such that the first line of this script reads a = 1

De modo que la próxima vez que se ejecute el script se vea como

a = 1
b = 1
print a + b
# do something here such that the first line of this script reads a = 2

¿Es esto de alguna manera posible? El script puede usar recursos externos; sin embargo, todo debería funcionar simplemente ejecutando elrun.py-archivo.

EDITAR: Puede que no haya sido lo suficientemente claro, pero el script debe actualizarse solo, no cualquier otro archivo. Claro, una vez que permita un archivo de configuración simple al lado del script, esta tarea es trivial.

Responder:

En realidad es mucho más fácil de lo que se piensa. La sugerencia de @khelwood funciona bien, abrir el guión y escribir su propio contenido no tiene ningún problema. La solución de @ Gerrat también funciona bien. Así es como lo estoy teniendo:

# -*- coding: utf-8 -*-
a = 0
b = 1
print a + b

content = []
with open(__file__,"r") as f:
    for line in f:
        content.append(line)

with open(__file__,"w") as f:
    content[1] = "a = {n}\n".format(n=b)
    content[2] = "b = {n}\n".format(n=a+b)
    for i in range(len(content)):
        f.write(content[i])

Respuestas a la pregunta(3)

Su respuesta a la pregunta