Hur man lägger till CRLF till en sträng i Python

click fraud protection
Python datorkod exempel funktion

Bildkredit: matejmo/iStock/GettyImages

I Python hänvisar CRLF till en vagnretur och linjematning. Detta teckenpar används för att avsluta textrader i många datorfiler, modellerade efter de åtgärder som en skrivmaskinsanvändare gör i slutet av en skrivrad. I Python kan du lägga till dem manuellt i en sträng med strängsammansättningsoperatorer, eller så kan du ange att de ska läggas till i en sträng som du skriver ut på skärmen eller en fil.

Python och CRLF

Olika operativsystem har olika sätt att indikera när en textfil innehåller en radbrytning. Det görs vanligtvis med en blandning av vagnretur och radmatningstecken, som definieras av särskilda numeriska koder.

Dagens video

Traditionellt använder Microsofts operativsystem en vagnretur följt av en radmatning, och Unix-system inklusive Linux och nyare versioner av Apple macOS använder bara en enda radmatning. Äldre Mac-system använde bara en enda vagnretur.

Många textbehandlingsprogram kan upptäcka vilka radändelser som används och öppna vilken fil som helst så att den visas normalt, men text kan ibland manglas om ett program inte är inställt för att göra denna gissning eller gör det felaktigt. Python är ett programmeringsspråk som körs på en mängd olika system, så det måste kunna hantera en mängd olika typer av radslut.

Lägga till radslut till strängar

Lägg manuellt till ett valfritt radslut till en sträng i Python med hjälp av plusteckensammansättningsoperatorn, som sammanfogar flera strängar.

Till exempel, "abc" + "def" ger strängen "abcdef" som ett resultat. I Python representeras en vagnretur av strängen \r och ett nyradstecken representeras av strängen \n. Omvänt snedstreck är ett flykttecken som talar om för Python att följande karaktär har en speciell betydelse. För att skriva ett verkligt snedstreck, sätt ett andra snedstreck före det för att även Python ska slippa det.

För att lägga till en vagnretur och nyrad till en sträng, lägg till strängen "\r\n" till den med plustecknet.

Utskrift med CRLF

Som standard lägger utskriftsoperatorn i Python 2 och utskriftsfunktionen i Python 3 endast till ett nyradstecken, inte en vagnretur, i slutet av varje textrad som skrivs ut till en sträng eller en fil. Både Python 2 och Python 3 används flitigt, men de hanterar utskrift lite annorlunda.

På Python 2 lägger du själv till rätt ändelse på varje rad och lägger till ett kommatecken i slutet av utskriftssatsen efter inmatningen för att undertrycka Pythons egen radslut. Till exempel kan du skriva ut "Detta är ett test" + "\r\n"' för att skriva ut strängen "Detta är ett test" med en vagnretur och ny rad.

I Python 3 är "print" en funktion snarare än en speciell operator. Det krävs ett argument som heter "slut" som anger radslutet som ska användas. 'Skriv ut ("Detta är ett test", slut = "\r\n")' skriver ut meningen med ett vagnretur och nyradstecken. Som standard är slutargumentet helt enkelt ett nyradstecken.