Anonieme gebruiker
Meer
Hoe append je naar een bestand in Python?
Hoe voeg je iets toe aan het bestand in plaats van het te overschrijven? Is er een speciale functie die append naar het bestand?
1439
3
U moet het bestand openen in append modus, door "a" of "ab" in te stellen als modus. Zie open().
Wanneer u opent met "a" modus, zal de schrijfpositie altijd aan het einde van het bestand zijn (een append). U kunt openen met "a+" om lezen, achteruit zoeken en lezen toe te staan (maar alle schrijfposities zullen nog steeds aan het eind van het bestand zijn!).
Voorbeeld:
Noot: Het gebruik van 'a' is niet hetzelfde als openen met 'w' en zoeken naar het einde van het bestand - bedenk wat er zou kunnen gebeuren als een ander programma het bestand opent en begint te schrijven tussen het zoeken en het schrijven. Op sommige besturingssystemen garandeert het openen van het bestand met 'a' dat al je volgende schrijfbewerkingen atomair aan het einde van het bestand worden toegevoegd (zelfs als het bestand groeit door andere schrijfbewerkingen).
Nog een paar details over hoe de "a" modus werkt (alleen getest op Linux). Zelfs als u terugzoekt, zal elke schrijfopdracht aan het einde van het bestand worden toegevoegd:
In feite zegt de
fopen
manpage:Oud vereenvoudigd antwoord (zonder
with
te gebruiken):Voorbeeld: (in een echt programma gebruik
with
om het bestand te sluiten - zie de documentatie)Je wilt waarschijnlijk
"a"
doorgeven als het mode argument. Zie de docs voor open().Er zijn andere permutaties van het mode argument voor updating (+), truncating (w) en binary (b) mode, maar beginnen met alleen
"a"
is je beste gok.