Meilleure réponse
Vous demandez: Que fait la troncature dun fichier lors de louverture dun fichier avec loption w + en python?
Tronquer un fichier à zéro signifie rejeter tout son contenu: la taille du fichier devient 0, donc il devient vide (et les données ont disparu), mais le fichier existe toujours sur le système de fichiers.
Sur les systèmes dexploitation UNIX et UNIX (et en général sur POSIX – systèmes dexploitation compatibles), il existe lappel système truncate(2)
qui peut être utilisé pour supprimer tout ou partie du contenu dun fichier (vers la fin dun fichier).
Sur de tels systèmes, lappel système open(2)
peut être spécifié par un paramètre spécifiant le O\_TRUNC
indicateur indiquant que le contenu du fichier doit être tronqué à 0 lors de son ouverture.
De même, la bibliothèque dE / S standard C la fonction fopen()
peut être spécifiée un mode douverture w+
indiquant que le fichier est en cours douverture pour écriture et quil doit être créé sil ne le fait pas t existe, ou quelle devrait être tronquée à 0 si elle existe déjà.
Et puisque la fonction open()
en Python fonctionne de la même manière que la fopen()
fonction en C, w+
signifie tronquer le contenu du fichier à une longueur nulle avant décrire quoi que ce soit.
Réponse
Le la question doit être clarifiée. Qui fait la troncature? Même processus python qui a ouvert le flux ou un autre processus? Le fichier python écrit-il dans le fichier alors quun autre thread / processus le tronque? Lopération tronquée se produit-elle en boucle ou quelque chose comme ça?
La réponse à votre question dépend de ce qui se passe avec le fichier lorsque ces opérations décriture et de tronquage se produisent….
Aussi… protip: ne regardez pas les documents python2. Regardez la documentation python3. Et utilisez python3 en général