Après avoir écrit dans un fichier, pourquoi os.path.getsize renvoie-t-il toujours la taille précédente?

Je suis en train de diviser un grand fichier xml en petits morceaux. J'écris dans le fichier de sortie, puis vérifier la taille pour voir si son passé un seuil, mais je ne pense pas que le getsize() la méthode fonctionne comme prévu.

Ce serait un bon moyen pour obtenir la taille d'un fichier qui est en train de changer la taille.

Ive fait quelque chose comme ça...

import string
import os

f1 = open('VSERVICE.xml', 'r')
f2 = open('split.xml', 'w')

for line in f1:
  if str(line) == '</Service>\n':
    break
  else:
    f2.write(line)
    size = os.path.getsize('split.xml')
    print('size = ' + str(size))

l'exécution de cette affiche " 0 " comme la taille du fichier d'environ 80 itérations puis 4176. Python stocker le résultat dans une mémoire tampon avant la sortie?

source d'informationauteur Maulin