[Tutor] Handling Objects

Eric Walker ewalker at micron.com
Thu Oct 6 00:41:02 CEST 2005


Well,
I think I probably can do this easier in perl but I took a vow I would try and 
learn python.  I know I am using classes here and really don't need objects. 
This is just another way for me to learn how to work with classes within 
python. My object actually will be storing like 5 or 6 different attributes 
but I didn't include them in the example.  These attributes  will be certain 
things that are read from the file.  Once I get the objects i want to create 
in another directory the same files with the same names but put different 
data into the new files depending on what I read from the original files.

Python Newbie....


On Wednesday 05 October 2005 04:29 pm, Kent Johnson wrote:
> Eric Walker wrote:
> > New to Python and trying to do some class stuff with a simple task.
> > Problem:
> > 1) get a list of file names in a directory
> > 2) create variables with the same name of each filename pulled from the
> > directory.
> > 3) Create an object for each and pass into the __init__ method the
> > stringname of the file name.
> >
> > This way I get a collection of objects that are the same name as the file
> > name and within each instance of the class , a particular attribute will
> > have the string name of the object.  Hope this isn't too confusing..
> > example.
>
> What will you do with the names and objects once you have them? A better
> approach is probably to keep a dictionary that maps names to objects. If
> your object is really just storing the name you might as well just keep a
> list of names - the object isn't adding any value. If the object is going
> to have more behaviour then use a dict. If you really just want to print
> the names then you don't need to store them at all. For example with a
> dict:
>
> class TPROJ:
>     # as before
>
> def getNames():
>     import os
>     currentDir=os.getcwd()
>     temp=currentDir + '/TEMP'
>     os.chdir(temp)
>     baseList=os.listdir(".")
>     nameDict = {}
>     for name in baseList:
>         nameDict[name] = TPROJ(name)
>         print name
>     return nameDict
>
> HTH,
> Kent
>
> > class TPROJ:
> >     def __init__(self,value):#createMethod auto executes since it has __
> >         self.BASENAME = value
> >
> >    def display(self):#display method
> >         print self.BASENAME
> >
> > def getNames():
> >     import os
> >     currentDir=os.getcwd()
> >     temp=currentDir + '/TEMP'
> >     os.chdir(temp)
> >     baseList=os.listdir(".")
> >     for name in baseList:
> >         name = TPROJ(name)
> >         print name
> >
> > Can anyone see what I am trying to do?
> >
> > Python Newbie.......
> > _______________________________________________
> > Tutor maillist  -  Tutor at python.org
> > http://mail.python.org/mailman/listinfo/tutor
>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor

-- 
Eric Walker
EDA/CAD Engineer
Work: 208-368-2573


More information about the Tutor mailing list