Kā pievienot CRLF virknei programmā Python

Python datora koda piemēra funkcija

Attēla kredīts: matejmo/iStock/GettyImages

Python valodā CRLF attiecas uz karietes atgriešanu un rindas padevi. Šis rakstzīmju pāris tiek izmantots, lai beigtu teksta rindiņas daudzos datora failos, kas veidoti pēc darbībām, ko rakstāmmašīnas lietotājs veic rakstīšanas rindas beigās. Programmā Python varat tos manuāli pievienot virknei, izmantojot virkņu savienošanas operatorus, vai arī norādīt, ka tie jāpievieno virknei, kuru drukājat ekrānā vai failā.

Python un CRLF

Dažādām operētājsistēmām ir dažādi veidi, kā norādīt, kad teksta failā ir iekļauts rindiņas pārtraukums. Parasti tas tiek darīts, izmantojot kādu no karietes atgriešanas un rindas padeves rakstzīmēm, kuras nosaka noteikti ciparu kodi.

Dienas video

Tradicionāli Microsoft operētājsistēmās tiek izmantota karieta atgriešana, kam seko rindas plūsma, un Unix sistēmas, tostarp Linux un jaunākās Apple MacOS versijas, izmanto tikai vienas rindas plūsmu. Vecākās Mac sistēmās tika izmantota tikai viena karietes atgriešana.

Daudzas teksta apstrādes programmas var noteikt, kuras rindu beigas tiek izmantotas, un atvērt jebkuru failu, lai tas tiktu parādīts parasti, taču teksts dažkārt var tikt sajaukts, ja programma nav iestatīta šī minējuma veikšanai vai arī to dara nepareizi. Python ir programmēšanas valoda, kas darbojas dažādās sistēmās, tāpēc tai ir jāspēj apstrādāt dažāda veida rindu galotnes.

Rindas beigu pievienošana virknēm

Manuāli pievienojiet rindas beigas pēc jūsu izvēles Python virknei, izmantojot pluszīmes savienošanas operatoru, kas savieno vairākas virknes.

Piemēram, "abc" + "def" iegūst virkni "abcdef". Programmā Python karieta atgriešanās tiek attēlota ar virkni \r, bet jaunās rindiņas rakstzīme tiek attēlota ar virkni \n. Atkāpes slīpsvītra ir atsoļa rakstzīme, kas norāda Python, ka šai rakstzīmei ir īpaša nozīme. Lai ierakstītu faktisko atpakaļvērsto slīpsvītru, pirms tās ievietojiet otru atpakaļvērsto slīpsvītru, lai arī Python no tās atslēgtu.

Lai virknei pievienotu karieta atgriešanos un rindiņu, pievienojiet tai virkni "\r\n", izmantojot plus zīmi.

Drukāšana ar CRLF

Pēc noklusējuma drukāšanas operators programmā Python 2 un drukas funkcija programmā Python 3 katras virknē vai failā izdrukātā teksta rindiņas beigās pievieno tikai jaunas rindiņas rakstzīmi, nevis karieta atgriešanos. Gan Python 2, gan Python 3 tiek plaši izmantotas, taču tās apstrādā drukāšanu nedaudz atšķirīgi.

Programmā Python 2 katrai rindai jāpievieno pareizās beigas un pēc ievades drukas priekšraksta beigās jāpievieno komats, lai izslēgtu Python rindiņas beigas. Piemēram, varat ievadīt 'print "This is a test" + "\r\n"', lai drukātu virkni "This is a test" ar vagona atgriešanu un rindiņu.

Programmā Python 3 "print" ir funkcija, nevis īpašs operators. Tam ir nepieciešams arguments ar nosaukumu "beigas", kas norāda izmantojamās rindas beigas. "Drukāt ("Šis ir tests", beigas = "\r\n")' izdrukā teikumu ar karieta atgriešanos un jaunās rindiņas rakstzīmi. Pēc noklusējuma beigu arguments ir vienkārši jaunrindas rakstzīme.