Yes these string processing techniques will work very nicely and very fast:
cut and pasted an example but should work... now I developed it a bit
further, bye ,bye.
BotDemoFolder = "C:\\Games\\Startrek Online\\Startrek Online\\Cryptic
Studios\\Star Trek Online\\Live\\demos"
BotDemoFile = "SpaceFleetAlertEnemyExample.demo"
import time
def ProcessEntityRef():
global DemoChars
global CreatedEntsIndex
StartIndex = DemoChars.find("EntityRef", CreatedEntsIndex)
StopIndex = DemoChars.find("\n",StartIndex)
if StartIndex <> -1:
Ref = DemoChars[StartIndex:StopIndex]
else:
Ref = 0
return Ref
def ProcessCreatedEntities():
global DemoChars
global CreatedEntsIndex
CreatedEntsIndex = 0
while (CreatedEntsIndex <> -1): # and (CreatedEntsIndex < 100000):
CreatedEntsIndex = DemoChars.find("createdEnts", CreatedEntsIndex)
RefNumber = ProcessEntityRef()
if CreatedEntsIndex <> -1:
CreatedEntsIndex = CreatedEntsIndex + 1
print "RefNumber: " + str(RefNumber)
return
def Main():
global DemoChars
DemoFilePath = BotDemoFolder + "\\" + BotDemoFile
FileObject = open( DemoFilePath, "r")
# DemoLines = FileObject.readlines()
# ParseDemoLines( DemoLines )
DemoChars = FileObject.read()
ProcessCreatedEntities()
# Index = DemoChars.find("createdEnts")
# print DemoChars[Index:Index+5]
# rfind
# ParseDemoChars( DemoChars )
FileObject.close()
return
print "program started"
Tick1 = time.time()
Main()
Tick2 = time.time()
Seconds = Tick2 - Tick1
print "program finished"
# Skybuck
--
https://mail.python.org/mailman/listinfo/python-list