rafail andreou έγραψε:
Έχω μια wordlist με ελλήνικες λέξεις σε ένα αρχείο txt και θέλω να διαγράψω τους τόνους είναι δυνατό αυτό? Kαι αν ναι πως
Θα φτιάξεις 2 λίστες όπου η μία θα έχει όλους τους ελληνικούς χαρακτήρες με τόνο και η άλλη τους ίδιους αλλά χωρίς τόνο. Θα σκανάρεις το αρχείο (γράμμα προς γράμμα) και θα βλέπεις εάν
το γράμμα που διαβάστηκε από το αρχείο είναι μέσα στην λίστα σου με τους τόνους. Εάν ναι
τότε κάνεις αντικατάστασει το γράμμα του αρχείου με το γράμμα στην δεύτερη σου λίστα που δεν
έχει τόνο.
Εάν δεν ξέρεις πως να κάνεις αντικατάσταση κάτι μέσα σε ένα αρχείο τότε ξανά δημιούργησε το αρχείο όλο από την αρχή.
Ένας ενδικτικός κώδικας θα έμοιαζε κάπως έτσι:
file = open("filename.txt", "r") #Άνοιγμα αρχείου για διάβασμα.
text = file.read() #Διάβασμα όλου του περιεχομένου.
file.close() #Κλείσιμο του αρχείου.
text = list(text) #Μετατροπή του περιεχομένου σε λίστα για να μπορώ να
#σκανάρω γράμμα προς γράμμα.
list1 = [] #Λίστα με όλα τα ελληνικά γράμματα που έχουν τόνο.
list2 = [] #Αντίστοιχα γράμματα χωρίς τόνο.
new_text = ""
#Σκανάρισμα όλου του διαβασμένου κειμένου.
for letter in text:
keep_going = False
#Βλέπω εάν το letter έχει τόνο.
for i in range( 0, len(list1) ):
#Eάν ναι βάλε στο νέο text τον χαρακτήρα χωρίς τόνο.
if letter == list1[i]:
new_text += list2[i]
keep_going = True
break
#Εάν βρήκες να έχει τονο τότε συνέχισε.
if keep_going:
continue
#Διαφορετικά πρόσθεσε το γράμμα έτσι όπως είναι.
else:
new_text += letter
file = open("filename.txt", "w") #Άνοιγμα αρχείου για γράψιμο.
file.write(new_text) #Γράφω το νέο κείμενο.
file.close() #Κλείσιμο του αρχείου.