Wat doet het afkappen van een bestand bij het openen van een bestand met de w + optie in python?


Beste antwoord

Je vraagt: Wat doet het afkappen van een bestand bij het openen van een bestand met de w + optie in python?

Een bestand afkappen tot nul betekent dat alle inhoud wordt weggegooid: de bestandsgrootte wordt 0, dus het wordt leeg (en de gegevens zijn verdwenen), maar het bestand bestaat nog steeds op het bestandssysteem.

Op UNIX- en UNIX-achtige besturingssystemen (en in het algemeen op POSIX -compatibele besturingssystemen) is er de truncate(2) systeemaanroep die kan worden gebruikt om een ​​deel van of de volledige inhoud van een bestand te verwijderen (richting het einde van een bestand).

Op dergelijke systemen kan de open(2) systeemaanroep worden gespecificeerd als een vlaggen parameter die de O\_TRUNC vlag die aangeeft dat de inhoud van het bestand moet worden afgekapt tot 0 bij het openen.

Evenzo is de C standaard I / O-bibliotheek functie fopen() kan een openingsmodus worden gespecificeerd w+ die aangeeft dat het bestand wordt geopend voor schrijven en dat het moet worden gemaakt als dat niet het geval is. t bestaan, of dat het moet worden afgekapt tot 0 als het al bestaat.

En aangezien de open() -functie in Python op dezelfde manier werkt als de fopen() -functie in C, w+ betekent het afkappen van bestandsinhoud tot nul voordat iets wordt geschreven.

Antwoord

De vraag heeft meer verduidelijking nodig. Wie doet de afkapping? Hetzelfde python-proces dat de stream heeft geopend of een ander proces? Schrijft het python-bestand naar het bestand terwijl een andere thread / proces het afkapt? Gebeurt de afkappingsoperatie in een lus of zoiets?

Het antwoord op uw vraag hangt af van wat er met het bestand aan de hand is wanneer deze schrijf- en afkappingsoperaties plaatsvinden….

Ook … protip: kijk niet naar python2-documenten. Kijk naar python3-documenten. En gebruik python3 in het algemeen

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *