Hvordan legge til CRLF til en streng i Python

Python datamaskinkode eksempelfunksjon

Bildekreditt: matejmo/iStock/GettyImages

I Python refererer CRLF til en vognretur og linjemating. Dette tegnparet brukes til å avslutte tekstlinjer i mange datafiler, modellert etter handlingene en skrivemaskinbruker utfører på slutten av en skrivelinje. I Python kan du manuelt legge dem til en streng ved å bruke strengsammenkoblingsoperatorer, eller du kan spesifisere at de skal legges til en streng du skriver ut på skjermen eller en fil.

Python og CRLF

Ulike operativsystemer har forskjellige måter å indikere når en tekstfil inneholder et linjeskift. Det gjøres vanligvis med en blanding av vognretur og linjeskifttegn, som er definert av bestemte numeriske koder.

Dagens video

Tradisjonelt bruker Microsoft-operativsystemer en vognretur etterfulgt av en linjemating, og Unix-systemer inkludert Linux og nyere versjoner av Apple macOS bruker bare en enkelt linjemating. Eldre Mac-systemer brukte bare en enkelt vognretur.

Mange tekstbehandlingsprogrammer kan oppdage hvilke linjeavslutninger som brukes og åpne hvilken som helst fil slik at den vises normalt, men tekst kan av og til bli ødelagt hvis et program ikke er satt opp for å gjette eller gjør det feilaktig. Python er et programmeringsspråk som kjører på en lang rekke systemer, så det må kunne håndtere en rekke typer linjeavslutninger.

Legge til linjeavslutninger til strenger

Legg manuelt til en linjeavslutning etter eget valg til en streng i Python ved å bruke plusstegnet-sammenkoblingsoperatoren, som føyer sammen flere strenger.

For eksempel, "abc" + "def" gir strengen "abcdef" som et resultat. I Python er en vognretur representert av strengen \r og et linjeskifttegn representeres av strengen \n. Omvendt skråstrek er en escape-karakter som forteller Python at følgende karakter har en spesiell betydning. For å skrive inn en faktisk skråstrek, legg en andre skråstrek før den for å få Python til å unnslippe den også.

For å legge til en vognretur og ny linje i en streng, legg til strengen "\r\n" ved å bruke plusstegnet.

Utskrift med CRLF

Som standard legger utskriftsoperatoren i Python 2 og utskriftsfunksjonen i Python 3 bare til et linjeskifttegn, ikke en vognretur, på slutten av hver tekstlinje som skrives ut til en streng eller en fil. Både Python 2 og Python 3 er mye i bruk, men de håndterer utskrift litt annerledes.

På Python 2 legger du selv til riktig avslutning på hver linje og legger til et komma på slutten av utskriftssetningen etter inndata for å undertrykke Pythons egen linjeavslutning. For eksempel kan du skrive ut "Dette er en test" + "\r\n"' for å skrive ut strengen "Dette er en test" med en vognretur og ny linje.

I Python 3 er "print" en funksjon i stedet for en spesiell operatør. Det krever et argument kalt "slutt" som spesifiserer linjeavslutningen som skal brukes. 'Skriv ut ("Dette er en test", end = "\r\n")' skriver ut setningen med vognretur og linjeskifttegn. Som standard er sluttargumentet bare et linjeskifttegn.