Scope of global variable limited to function
I have the following code:
def enterEnd(e): end = time.clock() position = viz.MainView.getPosition() ZpositionEnd = position[2] global elapsedTime global deltaZpos elapsedTime = end - start deltaZpos = ZpositionEnd - ZpositionStart print 'Final speed', deltaZpos/elapsedTime This works with a sensor and provides head location data for a motion capture experiment. However, when I try to access the deltaZpos variable in another function I get the following error: Traceback (most recent call last): File "C:\Program Files (x86)\WorldViz\Vizard4\python\viztask.py", line 779, in updateAndKillOnException return self.update() File "C:\Program Files (x86)\WorldViz\Vizard4\python\viztask.py", line 749, in update val = self._stack[-1].send(sendData) File "C:\Users\jorge_leon\Jorge_VR\Fajen_Sequence_Offici al.py", line 252, in experiment_Fajen yield testPhase() File "C:\Users\jorge_leon\Jorge_VR\Fajen_Sequence_Offici al.py", line 235, in testPhase speed = deltaZpos/elapsedTime NameError: global name 'deltaZpos' is not defined I checked and the scope limits itself to the function definition but I want to make sure that any other function can access it, and other variables in other functions do the same. |
The other function's code:
# Output all data to file here def testPhase(): speed = deltaZpos/elapsedTime |
Is testPhase called before enterEnd? If so then the variables will not be defined and you'll get that error message.
|
All times are GMT -7. The time now is 09:08 PM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC