Πώς να προσθέσετε CRLF σε μια συμβολοσειρά στην Python

Παράδειγμα συνάρτησης κώδικα υπολογιστή Python

Πίστωση εικόνας: matejmo/iStock/GettyImages

Στην Python, το CRLF αναφέρεται σε επιστροφή μεταφοράς και τροφοδοσία γραμμής. Αυτό το ζεύγος χαρακτήρων χρησιμοποιείται για τον τερματισμό γραμμών κειμένου σε πολλά αρχεία υπολογιστή, που διαμορφώνονται σύμφωνα με τις ενέργειες που κάνει ένας χρήστης γραφομηχανής στο τέλος μιας γραμμής πληκτρολόγησης. Στην Python, μπορείτε να τα προσθέσετε χειροκίνητα σε μια συμβολοσειρά χρησιμοποιώντας τελεστές συνένωσης συμβολοσειρών ή μπορείτε να καθορίσετε ότι πρέπει να προστεθούν σε μια συμβολοσειρά που εκτυπώνετε στην οθόνη ή σε ένα αρχείο.

Python και CRLF

Διαφορετικά λειτουργικά συστήματα έχουν διαφορετικούς τρόπους για να υποδείξουν πότε ένα αρχείο κειμένου περιλαμβάνει αλλαγή γραμμής. Συνήθως γίνεται με κάποιο συνδυασμό χαρακτήρων επιστροφής μεταφοράς και τροφοδοσίας γραμμής, οι οποίοι ορίζονται από συγκεκριμένους αριθμητικούς κωδικούς.

Το βίντεο της ημέρας

Παραδοσιακά, τα λειτουργικά συστήματα της Microsoft χρησιμοποιούν μια επιστροφή μεταφοράς ακολουθούμενη από μια τροφοδοσία γραμμής και τα συστήματα Unix, συμπεριλαμβανομένου του Linux και των πρόσφατων εκδόσεων του Apple macOS, χρησιμοποιούν μόνο μία τροφοδοσία γραμμής. Τα παλαιότερα συστήματα Mac χρησιμοποιούσαν μόνο μία επιστροφή.

Πολλά προγράμματα επεξεργασίας κειμένου μπορούν να εντοπίσουν ποιες καταλήξεις γραμμών χρησιμοποιούνται και να ανοίξουν οποιοδήποτε αρχείο έτσι ώστε να εμφανίζεται κανονικά, αλλά το κείμενο μπορεί περιστασιακά να παραμορφωθεί εάν ένα πρόγραμμα δεν έχει ρυθμιστεί για να κάνει αυτήν την εικασία ή το κάνει λανθασμένα. Η Python είναι μια γλώσσα προγραμματισμού που τρέχει σε μια μεγάλη ποικιλία συστημάτων, επομένως πρέπει να μπορεί να χειρίζεται μια ποικιλία τύπων καταλήξεων γραμμών.

Προσθήκη καταλήξεων γραμμών σε συμβολοσειρές

Προσθέστε χειροκίνητα ένα τελείωμα γραμμής της επιλογής σας σε μια συμβολοσειρά στην Python χρησιμοποιώντας τον τελεστή συνένωσης με το σύμβολο συν, ο οποίος ενώνει πολλές συμβολοσειρές.

Για παράδειγμα, το "abc" + "def" παράγει τη συμβολοσειρά "abcdef" ως αποτέλεσμα. Στην Python, μια επιστροφή μεταφοράς αντιπροσωπεύεται από τη συμβολοσειρά \r και ένας χαρακτήρας νέας γραμμής αντιπροσωπεύεται από τη συμβολοσειρά \n. Η ανάστροφη κάθετο είναι ένας χαρακτήρας διαφυγής που λέει στην Python ότι ο παρακάτω χαρακτήρας έχει μια ειδική σημασία. Για να πληκτρολογήσετε μια πραγματική ανάστροφη κάθετο, βάλτε μια δεύτερη ανάστροφη κάθετο πριν από αυτήν για να ξεφύγει και η Python.

Για να προσθέσετε μια επιστροφή και νέα γραμμή σε μια συμβολοσειρά, προσθέστε τη συμβολοσειρά "\r\n" σε αυτήν χρησιμοποιώντας το σύμβολο συν.

Εκτύπωση με CRLF

Από προεπιλογή, ο τελεστής εκτύπωσης στην Python 2 και η συνάρτηση εκτύπωσης στην Python 3 προσθέτουν μόνο έναν χαρακτήρα νέας γραμμής, όχι μια επιστροφή μεταφοράς, στο τέλος κάθε γραμμής κειμένου που εκτυπώνεται σε μια συμβολοσειρά ή ένα αρχείο. Τόσο η Python 2 όσο και η Python 3 χρησιμοποιούνται ευρέως, αλλά χειρίζονται την εκτύπωση ελαφρώς διαφορετικά.

Στην Python 2, προσθέτετε μόνοι σας τη σωστή κατάληξη σε κάθε γραμμή και προσθέτετε ένα κόμμα στο τέλος της δήλωσης εκτύπωσης μετά την είσοδο για να αποκρύψετε το τέλος γραμμής της Python. Για παράδειγμα, θα μπορούσατε να εισαγάγετε "print "This is a test" + "\r\n"" για να εκτυπώσετε τη συμβολοσειρά "This is a test" με επιστροφή μεταφοράς και νέα γραμμή.

Στην Python 3, το "print" είναι μια συνάρτηση και όχι ένας ειδικός τελεστής. Χρειάζεται ένα όρισμα που ονομάζεται "end" που καθορίζει τη γραμμή που τελειώνει προς χρήση. Το 'Print ("This is a test", end = "\r\n")' εκτυπώνει την πρόταση με ένα carriage return και χαρακτήρα νέας γραμμής. Από προεπιλογή, το όρισμα τέλους είναι απλώς ένας χαρακτήρας νέας γραμμής.