link textpoursuite sys.getrefcount
Je suis le concept du compte de référence
Alors, quand je fais un « del astrd », le nombre de référence tombe à zéro et astrd obtient recueilli par gc?
Ce sont les codes échantillon de codes.These j'ai développé après la question de mon hier: link text
one.py:
def abc():
print "Hello"
print "123"
print '345'
two.py:
import one
#reload(one)
#def defg():
one.abc()
trois.py:
import os,sys,gc
from time import sleep
import two
#reload(two)
#two.defg()
sleep(20)
directory = os.listdir('.')
for filename in directory:
if filename[-3:] == 'pyc':
print '- ' + filename
print sys.getrefcount(filename)
file_name = os.path.splitext (filename)[0]
del file_name # remove the local reference
del sys.modules[os.path.splitext (filename)[0]] # removes import
gc.collect() # garbage collect
#del sys.modules[filename]
#del filename
#os.remove(filename)
Ce que j'ai fait dans three.py est correct ou non? Y a-t-il des étapes inutiles? Si oui, pourquoi?
Aidez-moi s'il vous plaît à m'en sortir.
m éditer ma question en joignant un code par exemple pouvez-vous me dire wts hppng n ai-je raison? – user46646
Qu'essayez-vous d'accomplir dans votre code? – codeape
Selon ma question d'hier j'essayais de supprimer les importations J'ai joint le deuxième lien – user46646