Merhaba arkadaşlar, dosya arama sistemi oluşturmak istiyorum ama arama işlemini kullanıcıdan alınan veri ye göre yani kullanıcı "Python" yazınca klasörde onu arayacak ve içerisinde okuma/yazma işlemleri yapacağım.
Python:
vote = input("A-Z hangi harf ile test olmak istersiniz veya karışık mı?(abc= karışık):\t")
with os.scandir("D:\\programlama\\python\\AKA-Project\\Project-9.8.22\\abc-word") as tarama:
for belge in tarama:
if fnmatch.fnmatch(belge.name, vote):
print(belge.name)
Ben vote değişkenini kullanarak nasıl arama yapabilirim?
Bu arada program çalışıyor. Yalnız, kullanıcı girdiği dosyanın ismini arıyor fakat uzantısı ile girilmediği için sonuç bulamıyor.
Şimdi konu şu: Elimde tek sütun +1000 satırlı bir veri var ve bu veri .txt uzantılı. Üstelik bunun gibi birden fazla veri var, bunların içerisinden kullanıcının girmiş olduğu değere göre dosyayı bulup, içerisinden yani yüksek satırlı veriden random bir değer alacak. Ben bunu normal dosya okuma işlemleri ile yapamadım.
Kendi çözümüm: Dosya ismini alarak sonuna dosya uzantısını ekledim ve dosyayı buldu. Okuma işlemini ise pandas csv üzerinden yaptım.
Python:
dosya = pd.read_csv(documents)
Şeklinde okuma işlemini yapıp iloc[] üzerinden random sayı üretip konuma göre veri aldım.
Eğer dediğim gibi olmasını istiyorsanız şu komutlar işinize yarar. Bu kodları random_file.py isimli bir dosya oluşturup içine atın ve projeye import edin.
Python:
import os
import random
class NotFoundError:
def __init__(self):
self.err_code = 'File not found.'
def get_error(self):
print(self.err_code)
directory = 'Buraya arama yapmak istediğiniz directoryi yazın'
extention = '.txt' # Burası aramak istediğiniz dosyanın uzantısı, uzantı olmasını istemiyorsanız boş bırakın.
def extract(file_list):
extracted_files = []
for file_name in file_list:
if file_name.endswith(extention):
extracted_files.append(file_name)
return extracted_files
def get_random_in_file(file_name):
files = extract(os.listdir(directory), extention)
if file_name + extention in files:
cur_file = open(directory + '/' + extention)
cur_file_in = cur_file.readlines()
cur_file.close()
return random.choice(cur_file_in)
else:
return NotFoundError()
Ardından random_file.get_random_in_file(find_file) komutunun içine yazdığınız parametrede uzantı olmasa bile kendisi tanımladığınız uzantıyı sonuna ekleyerek arama yapacak ve o dosya varsa rastgele bir satırı değer olarak döndürecek.
Merhaba arkadaşlar, dosya arama sistemi oluşturmak istiyorum ama arama işlemini kullanıcıdan alınan veri ye göre yani kullanıcı "Python" yazınca klasörde onu arayacak ve içerisinde okuma/yazma işlemleri yapacağım.
Python:
vote = input("A-Z hangi harf ile test olmak istersiniz veya karışık mı?(abc= karışık):\t")
with os.scandir("D:\\programlama\\python\\AKA-Project\\Project-9.8.22\\abc-word") as tarama:
for belge in tarama:
if fnmatch.fnmatch(belge.name, vote):
print(belge.name)
Ben vote değişkenini kullanarak nasıl arama yapabilirim?
Bu arada program çalışıyor. Yalnız, kullanıcı girdiği dosyanın ismini arıyor fakat uzantısı ile girilmediği için sonuç bulamıyor.
Şimdi konu şu: Elimde tek sütun +1000 satırlı bir veri var ve bu veri .txt uzantılı. Üstelik bunun gibi birden fazla veri var, bunların içerisinden kullanıcının girmiş olduğu değere göre dosyayı bulup, içerisinden yani yüksek satırlı veriden random bir değer alacak. Ben bunu normal dosya okuma işlemleri ile yapamadım.
Kendi çözümüm: Dosya ismini alarak sonuna dosya uzantısını ekledim ve dosyayı buldu. Okuma işlemini ise pandas csv üzerinden yaptım.
Python:
dosya = pd.read_csv(documents)
Şeklinde okuma işlemini yapıp iloc[] üzerinden random sayı üretip konuma göre veri aldım.
Merhaba arkadaşlar, dosya arama sistemi oluşturmak istiyorum ama arama işlemini kullanıcıdan alınan veri ye göre yani kullanıcı "Python" yazınca klasörde onu arayacak ve içerisinde okuma/yazma işlemleri yapacağım.
Python:
vote = input("A-Z hangi harf ile test olmak istersiniz veya karışık mı?(abc= karışık):\t")
with os.scandir("D:\\programlama\\python\\AKA-Project\\Project-9.8.22\\abc-word") as tarama:
for belge in tarama:
if fnmatch.fnmatch(belge.name, vote):
print(belge.name)
Ben vote değişkenini kullanarak nasıl arama yapabilirim?
Bu arada program çalışıyor. Yalnız, kullanıcı girdiği dosyanın ismini arıyor fakat uzantısı ile girilmediği için sonuç bulamıyor.
Şimdi konu şu: Elimde tek sütun +1000 satırlı bir veri var ve bu veri .txt uzantılı. Üstelik bunun gibi birden fazla veri var, bunların içerisinden kullanıcının girmiş olduğu değere göre dosyayı bulup, içerisinden yani yüksek satırlı veriden random bir değer alacak. Ben bunu normal dosya okuma işlemleri ile yapamadım.
Kendi çözümüm: Dosya ismini alarak sonuna dosya uzantısını ekledim ve dosyayı buldu. Okuma işlemini ise pandas csv üzerinden yaptım.
Python:
dosya = pd.read_csv(documents)
Şeklinde okuma işlemini yapıp iloc[] üzerinden random sayı üretip konuma göre veri aldım.
hocam benim ki çözüm ama uzantıyı sonuna eklemem gerekiyor. Peki uzantısını bilmediğim dosyalar ne olacak. Ben geçici bir çözüm buldum ama ileride illaha ki lazım olacak
Eğer dediğim gibi olmasını istiyorsanız şu komutlar işinize yarar. Bu kodları random_file.py isimli bir dosya oluşturup içine atın ve projeye import edin.
Python:
import os
import random
class NotFoundError:
def __init__(self):
self.err_code = 'File not found.'
def get_error(self):
print(self.err_code)
directory = 'Buraya arama yapmak istediğiniz directoryi yazın'
extention = '.txt' # Burası aramak istediğiniz dosyanın uzantısı, uzantı olmasını istemiyorsanız boş bırakın.
def extract(file_list):
extracted_files = []
for file_name in file_list:
if file_name.endswith(extention):
extracted_files.append(file_name)
return extracted_files
def get_random_in_file(file_name):
files = extract(os.listdir(directory), extention)
if file_name + extention in files:
cur_file = open(directory + '/' + extention)
cur_file_in = cur_file.readlines()
cur_file.close()
return random.choice(cur_file_in)
else:
return NotFoundError()
Ardından random_file.get_random_in_file(find_file) komutunun içine yazdığınız parametrede uzantı olmasa bile kendisi tanımladığınız uzantıyı sonuna ekleyerek arama yapacak ve o dosya varsa rastgele bir satırı değer olarak döndürecek.
hocam benim ki çözüm ama uzantıyı sonuna eklemem gerekiyor. Peki uzantısını bilmediğim dosyalar ne olacak. Ben geçici bir çözüm buldum ama ileride illaha ki lazım olacak