Thanks Kent.. I think that would work for what I am doing. So is it safe to say that python doesn't do variable interpolation like perl..?
Thanks in advance. Python Newbie... On Wednesday 05 October 2005 05:20 pm, Kent Johnson wrote: > Eric Walker wrote: > > 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. > > OK, I would just make a list of the objects, since one of the attributes is > the name you have everything you need in the object. > > def getNames(): > import os > currentDir=os.getcwd() > temp=currentDir + '/TEMP' > os.chdir(temp) > baseList=os.listdir(".") > data = [] > for name in baseList: > data.append(TPROJ(name)) > print name > return data > > then to use the data something like > for datum in data: > f = open(datum.name, 'w') > #etc > > Kent > > > 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@python.org > >>>http://mail.python.org/mailman/listinfo/tutor > >> > >>_______________________________________________ > >>Tutor maillist - Tutor@python.org > >>http://mail.python.org/mailman/listinfo/tutor > > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor -- Eric Walker EDA/CAD Engineer Work: 208-368-2573 _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor