Beste svaret
Du spør: Hva gjør avkorting av en fil når du åpner en fil med w + -alternativet i python?
Avkorting av en fil til null betyr at du forkaster alt innholdet: filstørrelsen blir 0, så den blir tom (og dataene er borte), men filen eksisterer fortsatt på filsystemet.
På UNIX- og UNIX-lignende operativsystemer (og generelt på POSIX -kompatible operativsystemer) er det truncate(2)
systemanrop som kan brukes til å forkaste deler av eller hele innholdet i en fil (mot slutten av en fil).
På slike systemer kan open(2)
systemanrop spesifiseres som en flagg -parameter som spesifiserer O\_TRUNC
flagg som forteller at filinnholdet skal avkortes til 0 når det åpnes.
Tilsvarende C-standard I / O-bibliotek funksjon fopen()
kan spesifiseres som en åpningsmodus w+
som indikerer at filen åpnes for skriving og at den skal opprettes hvis den ikke ikke eksisterer, eller at den skal avkortes til 0 hvis den allerede eksisterer.
Og siden open()
-funksjonen i Python fungerer på samme måte som fopen()
-funksjon i C, w+
betyr avkorting av filinnhold til null lengde før du skriver noe.
Svar
spørsmålet trenger mer avklaring. Hvem gjør avkuttingen? Samme python-prosess som åpnet strømmen eller en annen prosess? Skriver python-filen til filen mens en annen tråd / prosess avkorter den? Skjer den avkuttede operasjonen i en løkke eller noe?
Svaret på spørsmålet ditt avhenger av hva som skjer med filen når disse skrive- og avkuttingsoperasjonene skjer….
Også … protip: ikke se på python2-dokumenter. Se på python3-dokumenter. Og bruk python3 generelt