[Python] Approccio agli oggetti

Diego Barrera diegonebarrera a yahoo.it
Dom 14 Feb 2010 19:33:51 CET


Grazie a tutti,
i vostri consigli mi sono stati molto utili..
quindi vi posto il nuovo codice.. :)

<code>
#!/usr/bin/python

import os, myStringTool

class FilePrelievo(file):
    def __init__(self,FileName):
        self.myfile = open(FileName,'r')
        self.dataSet=[]
        self.linea=[]

   
    def leggiLinea(self):
        linea=self.myfile.readline()
        l=linea.split(';')
        newlista=[]
        for x in l:
            x=myStringTool.cleanInizio(x)
            x=myStringTool.cleanFine(x)
            newlista.append(x)
        return newlista
   
    def importaFile(self):
        while self.linea<>['']:
            self.linea=self.leggiLinea()
            self.dataSet.append(self.linea)
        if self.dataSet[-1]==['']:
            self.dataSet=self.dataSet[:-1]

    def stampa(self,myfile):
        print >> 
myfile,"-----------------------------------------------------------"
        for i in range(len(self.dataSet)):
            print >> myfile,"! %s ! %s ! %s ! %s ! %s !" % \
            (myStringTool.optString(self.dataSet[i][0],12),\
            myStringTool.optString(self.dataSet[i][1],5),\
            myStringTool.optString(self.dataSet[i][2],12),\
            myStringTool.optString(self.dataSet[i][3],12),\
            myStringTool.optString(self.dataSet[i][4],2))
        print >> myfile, 
"-----------------------------------------------------------"

 
prelievo=FilePrelievo('/home/diego/Scrivania/IndirizziCIP.csv')
prelievo.importaFile()
myfile=open('/home/diego/Scrivania/IndirizziCIP2.csv','w')
prelievo.stampa(myfile)
myfile.close
myfile=open('/home/diego/Scrivania/IndirizziCIP2.csv','r')
printer=os.popen('lpr','w')
printer.write(myfile.read())

<\code>


invece dentro myStringTool:

<code>

def cleanInizio(mystring):
    if mystring=='': return mystring
    if (mystring[0]==' ') :
        mystring = cleanInizio(mystring[1:])
        return mystring
    else:
        return mystring
       
def cleanFine(mystring):
    if mystring=='': return mystring           
    if (mystring[-1]==' ') or (mystring[-1]=='\n') :
        mystring = cleanFine(mystring[:-1])
        return mystring
    else:
        return mystring
   
def optString(stringa, lunghezza):
    blank=' ' * lunghezza
    stringa= (stringa + blank) [0:lunghezza]
    return stringa
<\code>

Ciao a tutti


Maggiori informazioni sulla lista Python