Hi, I'm fairly new at Python, and have the following code that works but isn't very concise, is there a better way of writing it?? It seems much more lengthy than python code i have read..... :-) (takes a C++ block and extracts the namespaces from it)
def ExtractNamespaces(data): print("Extracting Namespaces") p = re.compile( 'namespace (?P<name>[\w]*)[\n\t ]*{') subNamespaces = [] newNS = p.search(data) while( newNS ): print "\t" + newNS.group("name") OPCount = 1 Offset = newNS.end() while(OPCount > 0): if( data[Offset] == "}" ): OPCount = OPCount -1; elif( data[Offset] == "{" ): OPCount = OPCount + 1; Offset = Offset+1; #Extract Data: newNSData = data[newNS.end():Offset-1] data = data[0:newNS.start()] + data[Offset:] newNamespace = [newNS.group("name"), newNSData]; subNamespaces.append(newNamespace) #Perform NewSearch newNS = p.search(data) return [subNamespaces,data] -- http://mail.python.org/mailman/listinfo/python-list