以下是代碼。我需要做的是找到一種方法使全局變爲i
,以便在重複執行時,i
的值將遞增1,而不是每次都重置爲0。 main
中的代碼來自另一個腳本,爲了使跟蹤功能正常工作,我嵌入了'main'中。這一切都是從Java完成的。Python |如何在腳本執行後使局部變量全局變爲
from __future__ import nested_scopes
import sys
import time
startTime = time.time()
timeLimit = 5000
def traceit(frame, event, arg):
if event == "line":
elapsedTime = ((time.time() - startTime)*1000)
if elapsedTime > timeLimit:
raise Exception, "The execution time has exceeded the time limit of " + str(timeLimit) + " milliseconds. Script will now terminate"
return traceit
sys.settrace(traceit)
def main______():
try:
i+=1
except NameError:
i=1
main______()
你爲什麼不試圖把SCRIPTA和scriptB到合適的班級?如果你的腳本使用對象方法,這將是微不足道的。你爲什麼不使用類和對象? –
+1這聽起來像一團糟 –
我有一個pyhton編輯器,用戶可以輸入腳本。我必須通過setTrace函數檢查腳本執行的時間。我通過將腳本放在scriptB中的主要方法中來完成此操作,否則它將無法工作。 大部分工作。唯一的問題是,當腳本被多次執行時,它不具有scriptA的全局變量的功能。即當這種 嘗試: \t I + = 1 除了NameError: \t I = 0 運行多次,什麼用來發生(當腳本沒有被修改)是,我將在每次執行時被增加。 – frank