Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Αποφυγή τονίσμου

Αποφυγή τονίσμου 8 Χρόνια 3 Μήνες πριν #3791

  • rafail andreou
  • Το Άβαταρ του/της rafail andreou
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 8
Έχω μια wordlist με ελλήνικες λέξεις σε ένα αρχείο txt και θέλω να διαγράψω τους τόνους είναι δυνατό αυτό? Kαι αν ναι πως
Τελευταία διόρθωση: 8 Χρόνια 3 Μήνες πριν από rafail andreou.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Αποφυγή τονίσμου 8 Χρόνια 3 Μήνες πριν #3792

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 445
  • Ληφθείσες Ευχαριστίες 75
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() #Κλείσιμο του αρχείου.
 
 
 
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Αποφυγή τονίσμου 8 Χρόνια 3 Μήνες πριν #3793

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Ένας άλλος τρόπος μετά τα 
file = open("filename.txt", "r") #Άνοιγμα αρχείου για διάβασμα.
text = file.read() #Διάβασμα όλου του περιεχομένου.
file.close() #Κλείσιμο του αρχείου.
 
 
import re
i=0
for letter in list1:
  a=re.compile(letter)
  text=a.sub(list2[i],text)
  i=i+1
To text που θα πάρουμε μετά την εκτέλεση του for θα είναι χωρίς τόνους
Τελευταία διόρθωση: 8 Χρόνια 3 Μήνες πριν από Theo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Αποφυγή τονίσμου 8 Χρόνια 3 Μήνες πριν #3794

  • rafail andreou
  • Το Άβαταρ του/της rafail andreou
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 8
Ευχαριστώ και τους δύο
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Αποφυγή τονίσμου 8 Χρόνια 3 Μήνες πριν #3795

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
O ποιο απλός τρόπος να το κάνεις είναι με maketrans
www.tutorialspoint.com/python/string_maketrans.htm
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.500 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου