Jak přidat CRLF do řetězce v Pythonu

Příklad funkce počítačového kódu v Pythonu

Kredit obrázku: matejmo/iStock/GettyImages

V Pythonu CRLF odkazuje na návrat vozíku a posun řádku. Tato dvojice znaků se používá k ukončení řádků textu v mnoha počítačových souborech, modelovaných podle akcí, které uživatel psacího stroje provede na konci řádku psaní. V Pythonu je můžete ručně přidat do řetězce pomocí operátorů zřetězení řetězců, nebo můžete určit, že by se měly přidat do řetězce, který vytisknete na obrazovku nebo do souboru.

Python a CRLF

Různé operační systémy mají různé způsoby, jak označit, že textový soubor obsahuje zalomení řádku. Obvykle se to provádí pomocí určité kombinace znaků pro návrat vozíku a odřádkování, které jsou definovány konkrétními číselnými kódy.

Video dne

Operační systémy Microsoft tradičně používají návrat vozíku následovaný posunem řádku a systémy Unix včetně Linuxu a nejnovějších verzí Apple macOS používají pouze jeden řádek. Starší systémy Mac používaly pouze jeden návrat vozíku.

Mnoho programů pro zpracování textu dokáže zjistit, které konce řádků jsou použity, a otevřít libovolný soubor tak, aby se zobrazil normálně, ale text může být občas pozměněn, pokud program není nastaven tak, aby odhadoval, nebo tak činí nesprávně. Python je programovací jazyk, který běží na široké škále systémů, takže musí být schopen zvládnout různé typy zakončení řádků.

Přidání zakončení řádků k řetězcům

Ručně přidejte konec řádku podle svého výběru k řetězci v Pythonu pomocí operátoru zřetězení znaménka plus, který spojuje více řetězců.

Například "abc" + "def" ve výsledku poskytne řetězec "abcdef". V Pythonu je návrat vozíku reprezentován řetězcem \r a znak nového řádku je reprezentován řetězcem \n. Zpětné lomítko je znak escape, který říká Pythonu, že následující znak má speciální význam. Chcete-li zadat skutečné zpětné lomítko, vložte před něj druhé zpětné lomítko, aby jej Python také unikl.

Chcete-li k řetězci přidat znak konce řádku a nový řádek, přidejte k němu řetězec "\r\n" pomocí znaménka plus.

Tisk pomocí CRLF

Ve výchozím nastavení operátor tisku v Pythonu 2 a funkce tisku v Pythonu 3 přidávají na konec každého řádku textu vytištěného do řetězce nebo souboru pouze znak nového řádku, nikoli znak konce řádku. Python 2 i Python 3 se běžně používají, ale tisk zvládají trochu jinak.

V Pythonu 2 sami přidáte správný konec na každý řádek a za vstup připojíte čárku na konec příkazu print, abyste potlačili vlastní konec řádku v Pythonu. Můžete například zadat 'print "Toto je test" + "\r\n"' a vytisknout řetězec "Toto je test" s návratem vozíku a novým řádkem.

V Pythonu 3 je „tisk“ spíše funkcí než speciálním operátorem. Vyžaduje argument nazvaný "end", který určuje konec řádku, který se má použít. 'Tisk ("Toto je test", end = "\r\n")' vytiskne větu s návratem vozíku a znakem nového řádku. Ve výchozím nastavení je koncovým argumentem jednoduše znak nového řádku.