##Python 2, 118 111 bytes ( 113 - 2 )
Python 2, 118 111 bytes ( 113 - 2 )
a,b=0,1;print a
f=open(__file__,'r+')
s=f.read()
s=s.replace(s[4:s.find(';')],`b`+','+`a+b`)
f.seek(0)
f.write(s)
It works with any valid filename. There is not much to explain here, the code itself is very verbose.
Thanks to FlipTack for reminding me, close()
is not mandatory.