J'essaie une opération de fichier en utilisant python.Aim est de lire en continu un fichier de taille (100bytes), emballer et les envoyer par socket. Ces fichiers sont lus à partir d'un répertoire. Problème: lorsque j'exécute le programme en continu, le temps d'exécution augmente. Initialement, le temps d'exécution est inférieur à une seconde; plus tard, il atteint jusqu'à 8 ~ 10 secondes. Je ne suis pas en mesure d'obtenir la raison exacte du retard. Si quelqu'un peut jeter un peu de lumière sur la question, ce sera plus utile.Lenteur de traitement de fichier en python
Ici, je joins mon code ...
def handlefile(filename):
for sat in range(len(Numfiles)):
filename =
fsize = os.path.getsize(filename)
if fsize != 100:
continue
rfile = open(filename,'rb')
text = rfile.read()
msg = struct.unpack("<100b",text)
for i in range(len(msg)):
packMessage = packMessage + struct.pack("<b",msg[i])
print "time:",datetime.datetime.now() - startTime
Le fichier sont des fichiers binaires.
Temps initial pris: 671 ms
sur l'exécution en continu pendant plus de 10 fois, le temps augmente lentement. Dernières valeurs, 671ms . . . . 9,879 ms 88,686 ms 135,954 ms
J'utilise la version python-2.5.4.
Si quelqu'un avait rencontré un problème similaire. S'il vous plaît, donnez-moi des informations.
Merci Das
Je ne vois pas rfile.close() – soulseekah
Veuillez publier le code courant réel, il y a plusieurs erreurs de syntaxe qui empêcheraient son exécution. –