Kuvan luotto: matejmo/iStock/GettyImages
Pythonissa CRLF viittaa rivinvaihtoon ja rivinvaihtoon. Tätä merkkiparia käytetään tekstirivien päättämiseen monissa tietokonetiedostoissa, jotka on mallinnettu kirjoituskoneen käyttäjän kirjoitusrivin lopussa tekemien toimien mukaan. Pythonissa voit lisätä ne manuaalisesti merkkijonoon käyttämällä merkkijonojen ketjutusoperaattoreita tai voit määrittää, että ne lisätään näytölle tulostettavaan merkkijonoon tai tiedostoon.
Python ja CRLF
Eri käyttöjärjestelmillä on erilaisia tapoja ilmoittaa, milloin tekstitiedosto sisältää rivinvaihdon. Se tehdään yleensä yhdistelmällä rivinvaihto- ja rivinvaihtomerkkejä, jotka määritellään tietyillä numeerisilla koodeilla.
Päivän video
Perinteisesti Microsoft-käyttöjärjestelmät käyttävät rivinvaihtoa, jota seuraa rivinvaihto, ja Unix-järjestelmät, mukaan lukien Linux ja Apple macOS: n uusimmat versiot, käyttävät vain yhtä rivinvaihtoa. Vanhemmat Mac-järjestelmät käyttivät vain yhden vaunun palautusta.
Monet tekstinkäsittelyohjelmat voivat havaita käytetyt rivinpäätteet ja avata minkä tahansa tiedoston, jotta se näkyy normaalisti, mutta tekstiä voidaan toisinaan sekoittaa, jos ohjelmaa ei ole asetettu tekemään tätä arvausta tai tekee niin väärin. Python on ohjelmointikieli, joka toimii useissa eri järjestelmissä, joten sen on kyettävä käsittelemään erilaisia rivinpätteitä.
Rivinpäätteiden lisääminen merkkijonoihin
Lisää haluamasi rivinpääte manuaalisesti Pythonin merkkijonoon käyttämällä plusmerkkien ketjutusoperaattoria, joka yhdistää useita merkkijonoja.
Esimerkiksi "abc" + "def" tuottaa tuloksena merkkijonon "abcdef". Pythonissa rivinvaihtoa edustaa merkkijono \r ja rivinvaihtomerkkiä merkkijono \n. Kenoviiva on pakomerkki, joka kertoo Pythonille, että seuraavalla merkillä on erityinen merkitys. Jos haluat kirjoittaa varsinaisen kenoviivan, laita sen eteen toinen kenoviiva, jotta Python myös ohittaa sen.
Jos haluat lisätä rivinvaihdon ja rivinvaihdon merkkijonoon, lisää siihen merkkijono "\r\n" käyttämällä plusmerkkiä.
Tulostus CRLF: llä
Oletusarvoisesti Python 2:n tulostusoperaattori ja Python 3:n tulostustoiminto lisäävät vain rivinvaihtomerkin, ei rivinvaihtoa, jokaisen merkkijonoon tai tiedostoon tulostetun tekstirivin loppuun. Sekä Python 2 että Python 3 ovat laajasti käytössä, mutta ne käsittelevät tulostusta hieman eri tavalla.
Python 2:ssa lisäät itse kullekin riville oikean päätteen ja lisäät print-käskyn loppuun pilkun syötteen jälkeen estääksesi Pythonin oman rivinpäätteen. Voit esimerkiksi kirjoittaa "print "Tämä on testi" + "\r\n" tulostaaksesi merkkijonon "Tämä on testi" rivinvaihdolla ja rivinvaihdolla.
Python 3:ssa "print" on pikemminkin funktio kuin erikoisoperaattori. Se vaatii argumentin nimeltä "end", joka määrittää käytettävän rivinpäätteen. 'Print ("Tämä on testi", end = "\r\n")' tulostaa lauseen rivinvaihdolla ja rivinvaihdolla. Oletuksena loppuargumentti on vain rivinvaihtomerkki.