Sådan tilføjes CRLF til en streng i Python

Python-computerkodeeksempelfunktion

Billedkredit: matejmo/iStock/GettyImages

I Python refererer CRLF til en vognretur og linjefeed. Dette tegnpar bruges til at afslutte tekstlinjer i mange computerfiler, modelleret efter de handlinger, en skrivemaskinebruger udfører i slutningen af ​​en skrivelinje. I Python kan du manuelt tilføje dem til en streng ved hjælp af strengsammenkædningsoperatorer, eller du kan angive, at de skal tilføjes til en streng, du udskriver på skærmen eller en fil.

Python og CRLF

Forskellige operativsystemer har forskellige måder at angive, hvornår en tekstfil indeholder et linjeskift. Det gøres normalt med en blanding af vognretur og linjeskifttegn, som er defineret af bestemte numeriske koder.

Dagens video

Traditionelt bruger Microsoft-operativsystemer et vognretur efterfulgt af et linjefeed, og Unix-systemer inklusive Linux og nyere versioner af Apple macOS bruger kun et enkelt linjefeed. Ældre Mac-systemer brugte kun en enkelt vognretur.

Mange tekstbehandlingsprogrammer kan registrere, hvilke linjeafslutninger der bruges og åbne enhver fil, så den vises normalt, men tekst kan lejlighedsvis blive ødelagt, hvis et program ikke er sat op til at gætte eller gør det forkert. Python er et programmeringssprog, der kører på en lang række systemer, så det skal kunne håndtere en række forskellige typer linjeafslutninger.

Tilføjelse af linjeafslutninger til strenge

Tilføj manuelt en linjeafslutning efter eget valg til en streng i Python ved hjælp af plustegnet-sammenkædningsoperatoren, som forbinder flere strenge.

For eksempel, "abc" + "def" giver strengen "abcdef" som et resultat. I Python er et vognretur repræsenteret af strengen \r, og et linjeskifttegn er repræsenteret af strengen \n. Omvendt skråstreg er en escape-karakter, der fortæller Python, at den følgende karakter har en særlig betydning. For at skrive en egentlig skråstreg skal du sætte en anden skråstreg før den for også at få Python til at undslippe den.

For at tilføje en vognretur og en ny linje til en streng skal du tilføje strengen "\r\n" til den ved hjælp af plustegnet.

Udskrivning med CRLF

Som standard tilføjer printoperatoren i Python 2 og printfunktionen i Python 3 kun et linjeskifttegn, ikke en vognretur, til slutningen af ​​hver tekstlinje, der udskrives til en streng eller en fil. Både Python 2 og Python 3 er meget i brug, men de håndterer udskrivning lidt anderledes.

På Python 2 tilføjer du selv den korrekte slutning til hver linje og tilføjer et komma til slutningen af ​​print-sætningen efter input for at undertrykke Pythons egen linjeslutning. For eksempel kan du indtaste 'print "Dette er en test" + "\r\n"' for at udskrive strengen "Dette er en test" med en vognretur og en ny linje.

I Python 3 er "print" en funktion snarere end en speciel operator. Det kræver et argument kaldet "end", der specificerer den linjeslutning, der skal bruges. 'Udskriv ("Dette er en test", end = "\r\n")' udskriver sætningen med et vognretur og linjeskift. Som standard er slutargumentet blot et linjeskifttegn.