Hepinize selamlar,bir metin dosyasının içindeki kelimeleri bulan ve ne kadar geçtiklerini söyleyen bir program yazdım.
Ama anlamadığım bir nokta var,bu metin dosyasının değişken olabilmesi için gördüğünüz gibi self.metin_ismi = “metin.txt” yaptım ve kullanıcıdan input alarak bunu değiştirmeye çalıştım.Ama kodum bir türlü farklı dosyaları okumuyor hep bu dosyayı okuyor.Acaba nerede hata yaptım bana öneri verebilir misiniz?Teşşekkür ederim.
class dosya:
sayac = 0
kelime_sozlugu = dict()
def __init__(self):
self.metin_ismi = "metin.txt"
with open(self.metin_ismi,"r+",encoding = "utf-8") as file:
a = file.read()
kelimeler = a.split()
self.sade_kelimeler = []
for i in kelimeler:
i = i.strip("")
i = i.strip(".")
i = i.strip(",")
self.sade_kelimeler.append(i)
def kelime_sayisi(self):
sade_kume = set()
for x in self.sade_kelimeler:
sade_kume.add(x)
for i in self.sade_kelimeler:
if i in self.kelime_sozlugu:
self.kelime_sozlugu[i] += 1
else:
self.kelime_sozlugu[i] = 1
for x,y in self.kelime_sozlugu.items():
if self.sayac == 1:
pass
else:
print("{} kelimesi {} kadar geçmiştir.".format(x,y))
def ozel_kelime(self):
self.sayac = 1
self.kelime_sayisi()
a = input("Kelimenizi giriniz:")
assert a in self.kelime_sozlugu,"Bu kelime metinde bulunmuyor."
print("{} kelimesi {} kadar geçti".format(a, self.kelime_sozlugu[a]))
dos = dosya()
while True:
print("""
Haş haşi kokoya hoşgeldiniz:
1-Belirli bir metinin harflerini analiz et(default değer = metin.txt)
2-Bu özel metinin içerisinde gireceğiniz harfin olup olmadığını varsa ne kadar olduğu
3-Çıkış
""")
aa = input("İşlem numaranız:")
if aa == "1":
aa1 = input("Okunucak dosya isminiz:")
dos.metin_ismi = aa1
dos.kelime_sayisi()
elif aa == "2":
dos.ozel_kelime()
elif aa == "3":
break