Eric Walker wrote:
> On Thursday 06 October 2005 12:48 pm, Kent Johnson wrote
> yes, I did remove this from the class. I really didn't need it in there. I
> moved the check outside under the main running function. To check the name
> before I even create the object. The way I had it before it would create an
> object regardless if the name had a colon or not.
That makes sense.
>
>
>> def nameCheck(self, value):
>>
>>> import re
>>> tempREG = re.match('.*:.*',value)
>>> return str(tempREG) != 'None'
>>
>>Still a syntax error here!
>>
>
> Code is working as I thought it would. What syntax error do I have?
Oops, I was still *reading* a syntax error :-)
>
> Man this group is great. I am going to be a
> python coder yet.....
Yep :-)
> current code sample follows:
A few more advanced notes for you below, just in case your brain hasn't
exploded yet :-)
Kent
>
>
> import re
> import string
> import os
>
> class TPROJ:
Tproj or TProj would be a more idiomatic name...
>
> def display(self):#display method
> print self.basename
> print self.project
> print self.rev
> print self.designator
> print self.type
>
> def __init__(self,value):#createMethod auto executes since it has __
> self.basename = value
> self.project = value.split(':')[0]
> self.rev = value.split(':')[1]
If you are sure there will be just one colon this can be written as
self.project, self.rev = value.split(':')
Tuple assignment rocks!
If you try this with more than one colon you will get an error.
> self.designator = "NOVALUE"
> self.type = ('SW','TMOD','SWA','TMODA')#constant tuple
>
>
>
> def nameCheck(value):
> tempREG = re.match('.*:.*',value)
> return str(tempREG) != 'None'
>
> def getProjectNames():
> currentDir=os.getcwd()
> nameTable = {}
> temp=currentDir + '/TEMP'
> print temp
> os.chdir(temp)
> baseList=os.listdir(".")
> baseObjectList = []
> for name in baseList:
> if nameCheck(name):
> baseObjectList.append(TPROJ(name))
The above four lines could be replaced with a single list comprehension if you
like:
baseObjectList = [ TPROJ(name) for name in baseList if nameCheck(name) ]
http://www.amk.ca/python/2.0/index.html#SECTION000600000000000000000
Kent
>
> Python Newbie...
>
> _______________________________________________
> Tutor maillist - [email protected]
> http://mail.python.org/mailman/listinfo/tutor
>
>
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor