Co dělá zkrácení souboru při otevření souboru s možností w + v pythonu?


Nejlepší odpověď

Ptáte se: Co dělá zkrácení souboru při otevření souboru s možností w + v pythonu?

Zkrácení souboru na nulu znamená zahodit veškerý jeho obsah: velikost souboru se změní na 0, takže se vyprázdní (a data jsou pryč), ale soubor stále existuje v souborovém systému.

V operačních systémech UNIX a UNIX (a obecně v POSIX kompatibilní s operačními systémy) existuje truncate(2) systémové volání, které lze použít k vyřazení části nebo celého obsahu souboru (ke konci souboru).

Na takových systémech lze open(2) systémovému volání zadat parametr flags určující parametr O\_TRUNC příznak, který říká, že obsah souboru by měl být při jeho otevření zkrácen na 0.

Podobně standardní I / O knihovna C funkce fopen() lze určit režim otevírání w+ označující, že se soubor otevírá pro zápis a že by měl být vytvořen, pokud tomu tak není neexistuje, nebo že by měl být zkrácen na 0, pokud již existuje.

A protože funkce open() v Pythonu funguje podobně jako fopen() funkce v jazyce C, w+ znamená zkrácení obsahu souboru na nulovou délku, než začnete cokoli psát.

Odpovědět

otázku je třeba více objasnit. Kdo provádí zkrácení? Stejný pythonovský proces, který otevřel stream nebo nějaký jiný proces? Zapisuje soubor pythonu do souboru, protože jej zkracuje jiné vlákno / proces? Dělá se operace zkrácení ve smyčce nebo tak něco?

Odpověď na vaši otázku závisí na tom, co se děje se souborem, když se tyto operace zápisu a zkrácení dějí ….

Také … protip: nedívej se na python2 dokumenty. Podívejte se na dokumenty python3. A obecně používejte python3

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *