Greetings, I've been using Python to successfully parse files. When the entire program was smaller, the variable firstMsg worked fine, but now doesn't because it's used in function PID_MinMax. I know it's a result of variables and their scope.
I declare the variable 'firstMsg = 0' in the main loop, pass it to the function 'PID_MinMax(firstMsg, PID)'. When the function increments the variable, it doesn't pass it back to the main program. What am I doing wrong? ---- major snippage) --- firstMsg = 0 skipHeader = 13 pPIDs = ['0321'] # hundreds more pLen = len(pPIDs) pMsgNum = pLen * [0] pMax = pLen * [0] pMin = pLen * [10] pLast = pLen * [0] def PID_MinMax(firstMsg, PID): idx = pPIDs.index(PID) pMsgNum[idx] += 1 # Need to have 2 samples to determine Delta if firstMsg != 0: tDelta = tCurrent - pLast[idx] if tDelta > pMax[idx]: pMax[idx] = tDelta if tDelta < pMin[idx]: pMin[idx] = tDelta elif firstMsg == 0: firstMsg = 1 pLast[idx] = tCurrent print pMin, pMax return firstMsg ############## main ############## bf_file = file('bf_data/sByteflightLog_wISS.txt', 'r') for line in bf_file: # skip header if skipHeader != 0: skipHeader -= 1 # skip footer elif line == '\n': break else: raw_msg = line.split() tCurrent = int(raw_msg[0], 16) * 0.0001 PID = raw_msg[2] if PID in pPIDs: PID_MinMax(firstMsg, PID) -- http://mail.python.org/mailman/listinfo/python-list