I have three modules as:
one.py:
def abc():
    print "Heeeeeeeeeeeiiiiiioooooooooo"
two.py:
import one
def defg():
    one.abc()
three.py:
import os
from time import sleep
import two
two.defg()
sleep(20)
directory = os.listdir('.')
for filename in directory:
    if filename[-3:] == 'pyc':
     print '- ' + filename
     os.remove(filename)
I have three doubts.Kindly help me.
When i run three.py for the first time one.pyc and two.pyc will be created. I can see it since i gave 20 sec delay. After executing the statement os.remove(filename), they gets removed. Until here its fine.
Again without closing the IDLE as well as script i ran three.py. This time no .pyc file was created. Why is this so ?
If I close IDLE as well as the script, .pyc will be created as before.
Why the compiled code is not getting created again and agin ?
Also,if I make a change in one.py it will not be shown if I run without closing the shells. I need a solution for this also.
Third doubt is if the compiled code is getting deleted first time itself then how the second run gives the same result without .pyc?
Hoping for a solution...