Névtelen felhasználó
További
Hogyan lehet egy fájlhoz csatolni Pythonban?
Hogyan csatolja a fájlhoz ahelyett, hogy felülírná azt? Van egy speciális funkció, amely hozzácsatolja a fájlhoz?
1439
3
A fájlt append módban kell megnyitni, a "a" vagy "ab" beállításával. Lásd open().
Ha "a" módban nyitod meg, az írási pozíció mindig a fájl végén lesz (append). Megnyithatod "a+" módban, hogy lehetővé tedd az olvasást, a hátrafelé keresést és az olvasást (de minden írás továbbra is a fájl végén lesz!).
Példa:
Jegyzet: Az 'a' használata nem ugyanaz, mint a 'w' megnyitás és a fájl végére való keresés - gondoljunk arra, hogy mi történhet, ha egy másik program megnyitja a fájlt és a keresés és az írás között elkezd írni. Egyes operációs rendszereken a fájl 'a' -val történő megnyitása garantálja, hogy az összes következő írást atomikusan a fájl végéhez csatolja (még akkor is, ha a fájl más írásokkal növekszik).
Néhány további részlet a "a" mód működéséről (csak Linuxon tesztelve). Még ha vissza is keresünk, minden írás a fájl végéhez csatolódik:
Valójában az
fopen
manpage azt állítja, hogy: "Azfopen
manpage a következő:Régi egyszerűsített válasz (nem használjuk a
with
-t):Példa: (egy valódi programban használjuk a
with
-t a fájl bezárására - lásd a dokumentációt)Valószínűleg a `"a"-t kell átadni a mode argumentumként. Lásd az open() dokumentációját.
A mód argumentumnak vannak más permutációi is a frissítő (+), a csonkoló (w) és a bináris (b) módhoz, de ha csak
"a"
-val kezdjük, az a legjobb megoldás.