我有這個簡單的Python腳本,myvar1
是generate()
函數訪問,但不是在copy()
功能。需要幫助找出錯誤:錯誤的python腳本
#!/usr/bin/python
import os, time
def Test(tcid,descr,iterations,filsz):
def setup():
print "entering set up\n"
global myvar1, myvar2
myvar1 = 1.0
myvar2 = os.getcwd()
def generate():
print "entering generate\n"
print "in generate", myvar1, myvar2
def copy():
print "in copy", myvar1, myvar2
myvar1 += 5.0
setup()
generate()
for loopcount in range(5):
loopcount = loopcount + 1
copy()
if __name__ == "__main__":
Test('test','simple test',2,10)
錯誤:
回溯(最近通話最後一個): 文件 「./pyerror.py」 35行,在 測試( '測試',」簡單測試',2,10) 文件「./pyerror.py」,第30行,在測試中 copy() 文件「./pyerror.py」,第20行,副本 print「in copy」,myvar1 ,myvar2 UnboundLocalError:局部變量 'myvar1' 分配之前引用
只有當_assigning_給變量時,Python範圍問題的可能重複(http://stackoverflow.com/questions/2886932/python-scope-problems-only-when-assigning-to-a-variable) – 2011-01-22 00:02:29