Nejlepší odpověď
Jak vymazat textový soubor v Pythonu?
Ve většině jazyků by mělo stačit otevřít soubor pro zápis a poté jej zavřít. Použitý idiom je:
with open(theFile, “w”) as fp:
pass
Toto by mělo po sobě zanechat soubor o délce 0.
Otázkou je, proč to chcete udělat? Pokud chcete soubor odstranit, odstraňte jej (viz os.remove). Pokud to chcete přepsat, nemusíte to nejprve mazat. Otevřete jej pro zápis a zapište nový obsah.
Odpověď
Ve starých verzích Pythonu měl rozdíl mezi textovými a binárními soubory co do činění s tím, jak Python zacházel s oddělovači řádků (většinou pouze relevantní zpracování textových souborů v systému MS-DOS / Windows (použití párů znaků CR / LF pro ukončení řádku) a staré textové soubory systému Macintosh System (starší než MacOS X) (které používaly CR, carriage return (\ r) nebo ASCII 0x0D) v místo LF (line feed, \ n, ASCII 0x0A, který se používá v Unixu, Linuxu a MacOS X).
Toto bylo obvykle automaticky detekováno tlumočníky Pythonu2 a jen občas muselo být překročeno ridden. Všechny soubory však mohly být považovány za jednoduché toky bytů (které byly zaměnitelné s 8bitovými znaky ASCII) v Pythonu 2 a dřívějších. Příznak / režim „b“ v open () pro zacházení se soubory jako binárními byl jen o zakončení řádků.
S Pythonem 3 je příběh komplikovanější. Jednoduchý je však to, že textové soubory jsou výchozí a jsou považovány za kódování Unicode (například UTF-8 nebo US-ASCII). Ke zpracování souborů jako binárních stačí při otevírání souboru přidat do argumentu režimu příznak „b“. Nyní ale všechny operace s tímto souborem obsahují bajtů objekty spíše než řetězce. Čte tedy návratové bajtů a data pro volání iv id musí být vhozena jako bajtů = „f1c82958de“>