import os, os.path
DOT = '.'
class File:
def __init__(self, path, uzanti):
self.path = path + DOT + uzanti
def her_satir_basi(self, method):
self.__varmi_yokmu_kontrollor()
fil = open(self.path, 'r')
returned = []
for line in fil:
filtered = filter_edilen_yerler(line)
if len(filtered) == 0:
continue
returned.append(method(filtered))
fil.close()
return returned
def __varmi_yokmu_kontrollor(self):
if not os.path.isfile(self.path):
raise fnf.FileNotFoundError(self.path)
def create(self, overwrite = False):
if not overwrite and os.path.exists(self.path):
raise inv.sistemhatasi('Bu sistemyolu zaten burada ' + self.path + ' var uzerine yazmak icin False kulanin.')
if os.path.exists(self.path):
if os.path.isfile(self.path):
os.remove(self.path)
else:
raise inv.sistemhatasi('uzerine yazilamaz ' + self.path + '.')
fil = open(self.path, 'w')
fil.close()
def write(self, lines):
self.__varmi_yokmu_kontrollor()
fil = open(self.path, 'w')
for line in lines:
fil.write(line)
fil.write('\n')
fil.close()
def filter_edilen_yerler(line):
index = line.find('|')
if index == -1:
return line.strip()
return line[:index].strip()
def name_uzanti(file_name):
dot_index = file_name.rfind(DOT)
if dot_index == -1:
return [file_name, '']
return [file_name[:dot_index], file_name[dot_index+1:]]
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 23:43:45 -->-> Daha önceki mesaj 23:37:55 --
import math
def eu_mesafe(instance1, instance2, attributes):
total = 0
for attribute in attributes:
d = mesafe(instance1.value(attribute), instance2.value(attribute), attribute.is_continuous())
total += d * d
return math.sqrt(total)
def ham_mesafe(instance1, instance2, attributes):
return sum([mesafe(instance1.value(attribute), instance2.value(attribute), attribute.is_continuous()) for attribute in attributes])
def mesafe(value1, value2, is_continuous):
if is_continuous:
return abs(value1 - value2)
if value1 == value2:
return 0
return 1