[python] pomoc v pythone
Petr Přikryl
prikryl na atlas.cz
Pondělí Červenec 26 07:32:48 CEST 2010
>Musíš si to odřádkovat :-)
Pro doplnění, příkaz print si přidává konec řádku sám a dá se
přesměrovat i do souboru. Přesto bych ale dal přednost tomu
subor.write(...)
>Před "subor.close()" napiš "subor.write('rn')" nebo, což je
>korektnější, "subor.write(os.linesep)", nezapomeň někde nad tím uvést
>"import os".
>
>os.linesep obsahuje oddělovač řádků - na Windows tam bude "rn", na
>Unix-like systémech (tj. skoro všude jinde) "n". Mimochodem, existuje
>ještě jedna možnost - otevřít souboru v režimu "universal newline
>support" a jako oddělovač řádku psát jen "n", ono by se to pak mělo
>na Windows na "rn" převést samo. (To, že jedeš na Windows, odvozuji
>ze sleepu na konci.)
Toto není přesné. Pokud je soubor otevřen pro zápis v textovém
režimu (což platí vždy, když se to mode neuvede 'b'), pak se 'n'
automaticky převádí na posloupnost pro konec řádku používaný
v daném operačním systému. Hraní si s os.linesep má smysl
jen v případě, kdy si soubor záměrně otevřeme pro ČTENÍ
v BINÁRNÍM režimu.
Universal Newline Support se používá jen při otvírání textových
souborů pro čtení (režim 'rU). Pak je jedno, v jakém OS byl
soubor vytvořen.
>> subor=file(nazov,'a')
Pro otvírání souboru používej open(). Volání jakoby konstruktoru
objektu typu file() již například v Python 3 není možné. Takže pokud
byly file() a open() v Pythonu 2 synonyma (vždy se ale doporučovalo
používat open()), v Pythnonu už file() způsobí chybu.
Měj se fajn,
Petr
Další informace o konferenci Python