
Οι περισσότεροι προγραμματιστές συμφωνούν με το γεγονός ότι η Python είναι μια από τις πιο σημαίνουσες και αγαπημένες γλώσσες προγραμματισμού της παρούσας εποχής. Η Python είναι μια δυναμική, υψηλού επιπέδου, ανοιχτού κώδικα και ερμηνευμένη γλώσσα προγραμματισμού.
Επιτρέπει αντικειμενοστραφή προγραμματισμό καθώς και προγραμματισμό προσανατολισμένο στη διαδικασία. Πολλοί μαθητές στον τομέα ανάπτυξης ξεκινούν το προγραμματιστικό τους ταξίδι με την Python.
Συμβολοσειρές σε Python
Στην Python, οι συμβολοσειρές έχουν τον τύπο str. Μια συμβολοσειρά στη γλώσσα Python αντιπροσωπεύει την ακολουθία χαρακτήρων. Οι συμβολοσειρές Python είναι αμετάβλητες, πράγμα που σημαίνει ότι δεν μπορούν να αλλάξουν ή να τροποποιηθούν μόλις δημιουργηθούν.
Όταν θέλετε να αλλάξετε ή να τροποποιήσετε μια συμβολοσειρά, δεν μπορεί να γίνει με την υπάρχουσα συμβολοσειρά. πρέπει να δημιουργήσετε μια νέα συμβολοσειρά. Αυτό το άρθρο θα σας βοηθήσει να μάθετε πώς να βρίσκετε μια συμβολοσειρά σε ένα αρχείο κειμένου χρησιμοποιώντας τη γλώσσα προγραμματισμού Python.
Πρώτα και κύρια, υποθέτοντας ότι έχετε εγκαταστήσει την πιο πρόσφατη έκδοση της Python (Python 3.9.1) στον υπολογιστή σας και έχετε ένα IDE/επεξεργαστή για να γράψετε κώδικα.
Πριν μεταβείτε στο επόμενο βήμα μπροστά, θα πρέπει να ξέρετε τι είναι ένα αρχείο!
Ένα αρχείο είναι ένα μεταδοτικό σύνολο byte που αποθηκεύει δεδομένα. Αυτά τα δεδομένα ενσωματώνονται σε μια συγκεκριμένη μορφή. Τα αρχεία κειμένου, οι εικόνες, τα εκτελέσιμα αρχεία είναι παραδείγματα διαφορετικών τύπων αρχείων.
Πώς να βρείτε μια συμβολοσειρά σε ένα αρχείο κειμένου χρησιμοποιώντας Python
Χωρίζω την εργασία σε δύο διαφορετικούς τρόπους. Αρχικά, θα μάθετε πώς μπορείτε να βρείτε μια συγκεκριμένη συμβολοσειρά από ένα αρχείο κειμένου και, στη συνέχεια, θα σας δείξω πώς να βρείτε πολλές συμβολοσειρές με τον αντίστοιχο αριθμό γραμμής τους.
1. Εύρεση συμβολοσειράς από αρχείο κειμένου
def check(my_file, string_search): # Opens my_file in read only mode with open(my_file, 'r') as read: # Read all the line in the file one by one for line in read: # Checki every lines if it contains the desired string if string_search in line: return True return False
Στο παραπάνω παράδειγμα, η συνάρτηση ελέγχου παίρνει δύο ορίσματα, τη διαδρομή του αρχείου και την επιθυμητή συμβολοσειρά. Αργότερα, ανοίγει το αρχείο κειμένου με το όνομα my_file και επαναλαμβάνεται σε κάθε γραμμή διαδοχικά.
Εάν η γραμμή περιέχει τη συμβολοσειρά που θέλετε, επιστρέφει αμέσως το 'True'. Εάν καμία γραμμή δεν περιέχει την επιθυμητή συμβολοσειρά, επιστρέφει 'False'.
Τώρα ας υποθέσουμε ότι έχετε ένα αρχείο κειμένου που ονομάζεται demo.text με τις παρακάτω γραμμές κειμένου και αναζητάτε τη συμβολοσειρά 'Adam'.
This is a demo line I am looking for a string That contains Adam Thank you!
Ας προσποιηθείτε ότι πρέπει να ελέγξετε εάν αυτό το αρχείο περιέχει τη συμβολοσειρά 'Adam' ή όχι. Για να γίνει αυτό, ας γράψουμε τον παρακάτω κώδικα.
if check('demo.txt', 'Adam'): print('True') else: print('Sorry String not found in your given file').
Χρησιμοποιώντας αυτόν τον κωδικό θα λάβετε την έξοδο 'True' επειδή έχετε τη συμβολοσειρά 'Adam' διαθέσιμη στο αρχείο κειμένου σας.
2. Εύρεση μιας συμβολοσειράς που είναι διαθέσιμη σε πολλές γραμμές μαζί με τους αριθμούς των γραμμών
Ας ρίξουμε μια ματιά σε ένα διαφορετικό σενάριο που μπορεί να είναι χρήσιμο όταν προσπαθείτε να βρείτε μια συμβολοσειρά σε ένα αρχείο κειμένου.
def search_string(file_name, string_search): # Searches for a string that available in multiple lines along with the line numbers x = 0 # Line number y = [] # List of serched result # Opens the file in read only mode with open(my_file, 'r') as read: for line in read: x += 1 if string_search in line: y.append((x, line.rstrip())) return y
Ας ρίξουμε λίγο φως στον αλγόριθμο του παραπάνω προγράμματος Python. Πρώτα και κύρια, αυτό το πρόγραμμα δέχεται επίσης δύο ορίσματα, τη διαδρομή του αρχείου και την επιθυμητή συμβολοσειρά.
Αργότερα, δημιουργεί μια κενή λίστα πλειάδων y. Στη συνέχεια πάλι, ανοίγει το αρχείο σε λειτουργία μόνο για ανάγνωση και επαναλαμβάνεται σε κάθε γραμμή διαδοχικά για να πάρει την επιθυμητή συμβολοσειρά.
Αν βρει τη συμβολοσειρά σε μια γραμμή, δημιουργεί μια πλειάδα αριθμού γραμμής και τη γραμμή και την προσθέτει σε μια λίστα πλειάδων και επιστρέφει τη λίστα πλειάδων. Τώρα υποθέστε ότι το αρχείο κειμένου σας έχει τις παρακάτω γραμμές
I am Adam Demo line 1 Demo line 2 Adam writes the code Thank you!
Μπορείτε να λάβετε όλες τις γραμμές μαζί με τους αριθμούς γραμμών για τη δεδομένη συμβολοσειρά «Adam» γράφοντας τον παρακάτω κώδικα.
get_lines = search_string('demo.txt', 'Adam') print('Lines with the String : ', len(get_lines)) for elem in get_lines: print('Line Number = ', elem[0], ' : Line = ', elem[1])
Θα πρέπει να πάρετε ένα παραγωγή σαν αυτό:
Lines with the String: 2 Line Number = 1 : Line = I am Adam Line Number = 4 : Line = Adam writes the code
συμπέρασμα
Οι δεξιότητες χειρισμού αρχείων είναι απαραίτητες ως προγραμματιστής Python. Οι προγραμματιστές χρειάζεται συχνά να έχουν πρόσβαση και να χειρίζονται δεδομένα σε αρχεία, είτε διαβάζουν από αυτά είτε γράφουν σε αυτά.
Ελπίζω ότι αυτό το άρθρο θα σας βοηθήσει να βρείτε συμβολοσειρές σε ένα αρχείο κειμένου χρησιμοποιώντας την Python.
Καλή κωδικοποίηση!