Źródło obrazu: matejmo/iStock/GettyImages
W Pythonie CRLF odnosi się do powrotu karetki i wysuwu wiersza. Ta para znaków jest używana do zakończenia wierszy tekstu w wielu plikach komputerowych, wzorowana na czynnościach wykonywanych przez użytkownika maszyny do pisania na końcu wiersza pisania. W Pythonie możesz ręcznie dodać je do łańcucha za pomocą operatorów konkatenacji łańcuchów lub możesz określić, że powinny być dodane do łańcucha, który drukujesz na ekranie lub w pliku.
Python i CRLF
Różne systemy operacyjne mają różne sposoby wskazywania, kiedy plik tekstowy zawiera podział wiersza. Zwykle odbywa się to za pomocą kombinacji znaków powrotu karetki i nowego wiersza, które są definiowane przez określone kody numeryczne.
Wideo dnia
Tradycyjnie systemy operacyjne Microsoft używają znaku powrotu karetki, po którym następuje znak nowego wiersza, a systemy Unix, w tym Linux i najnowsze wersje Apple macOS, używają tylko jednego znaku końca wiersza. Starsze systemy Mac używały tylko jednego powrotu karetki.
Wiele programów do przetwarzania tekstu może wykryć używane zakończenia linii i otworzyć dowolny plik, aby go wyświetlić normalnie, ale tekst może czasami zostać zniekształcony, jeśli program nie jest skonfigurowany do odgadywania lub robi to nieprawidłowo. Python to język programowania, który działa na wielu różnych systemach, więc musi być w stanie obsłużyć różne typy zakończeń linii.
Dodawanie zakończeń linii do ciągów
Ręcznie dodaj wybrany koniec wiersza do ciągu znaków w Pythonie za pomocą operatora konkatenacji ze znakiem plus, który łączy wiele ciągów.
Na przykład „abc” + „def” daje w wyniku ciąg „abcdef”. W Pythonie powrót karetki jest reprezentowany przez łańcuch \r, a znak nowej linii jest reprezentowany przez łańcuch \n. Ukośnik odwrotny to znak zmiany znaczenia, który informuje Pythona, że następujący znak ma specjalne znaczenie. Aby wpisać rzeczywisty ukośnik odwrotny, umieść przed nim drugi ukośnik odwrotny, aby Python również go usunął.
Aby dodać powrót karetki i znak nowej linii do ciągu, dodaj do niego ciąg „\r\n”, używając znaku plus.
Drukowanie za pomocą CRLF
Domyślnie operator print w Pythonie 2 i funkcja print w Pythonie 3 dodają tylko znak nowej linii, a nie powrót karetki, na końcu każdego wiersza tekstu drukowanego w łańcuchu lub pliku. Zarówno Python 2, jak i Python 3 są powszechnie używane, ale radzą sobie z drukowaniem nieco inaczej.
W Pythonie 2 sam dodajesz poprawne zakończenie do każdej linii i dodajesz przecinek na końcu instrukcji print po wejściu, aby pominąć własne zakończenie linii Pythona. Na przykład możesz wpisać 'print "To jest test" + "\r\n"', aby wydrukować ciąg "To jest test" z powrotem karetki i znakiem nowej linii.
W Pythonie 3 „print” jest funkcją, a nie specjalnym operatorem. Pobiera argument o nazwie „end”, który określa koniec linii do użycia. 'Print ("To jest test", end = "\r\n")' drukuje zdanie z powrotem karetki i znakiem nowej linii. Domyślnie argument end jest po prostu znakiem nowej linii.