[Linux-programlama] Python kodu

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Neşet ÖZKAN (nozkan@gmail.com)
Date: Sat 19 Aug 2006 - 10:02:34 GMT


Acemi bir python meraklısıyım. Bir deneme yapıyorum. Yazdığım kod
aşağıda ancak birşeyler eksik gibi geliyor bana. Hoş kod istediğim şeyi
yapıyor ama yinede
tatmin edmedi beni. Vakti olanlardan tecrübeli programcılardan böyle bir
işlem için şöyle düşünmeliydin gibi tavsiyeler alırım umuduyla buraya
yazdım.
İlgilenenlere şimdiden teşekkür ederim.

#! -*- coding:cp1254 -*-

import re

class VeriAl:
    def __init__(self,text_dosyasi):
        
        #Log File içinde bulunacak değerler için re tanımlamaları
        self.re_listesi=(
            
re.compile(r"""(?<=(PUTNC\sFile:))(\s\w{0,8})"""), #program_no
            
re.compile(r"""(?<=(D=))(\d{0,2})"""), #takim_capi
            
re.compile(r"""(?<=(R=))(\d{0,2})"""),
#takim_radyusu
            
re.compile(r"""(?<=(Offset\s{8}:))(\s*\d{0,2}\.\d{0,2})""") #ofset
            )
        
        #Re taraması sonucu bulunanların toplanacağı liste
        self.veri=[]
        
        #Re'leri bul ve veri listesini düzenle
        map(self._ara,text_dosyasi)
        
    def _veriyi_duzenle(self,bulunan_text):
            #program_no için
            if self.re_ifadesi==self.re_listesi[0]:
                self.veri.append({
                    "program_no":bulunan_text,
                    "takim_capi":[],
                    "takim_radyusu":[],
                    "ofset":[]
                })
            #takim_capi için
            elif self.re_ifadesi==self.re_listesi[1]:
                self.veri[-1]["takim_capi"].append(bulunan_text)
            #takim_radyusu için
            elif self.re_ifadesi==self.re_listesi[2]:
                self.veri[-1]["takim_radyusu"].append(bulunan_text)
            #ofset için
            elif self.re_ifadesi==self.re_listesi[3]:
                self.veri[-1]["ofset"].append(bulunan_text)

                
    def _ara(self,text):
        for i in self.re_listesi:
            self.re_ifadesi=i
            try:
                bulunan_text=self.re_ifadesi.search(text).group()
            except AttributeError:
                pass
            else:
                self._veriyi_duzenle(bulunan_text)
    
    
if __name__=="__main__":
    
    file=open("test1.txt","r")
    r=VeriAl(file)
    print r.veri
    file.close()
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.