在Python中,"SystemError: com_backpatch: offset too large"
正在執行由以下生成的代碼時拋出:見解上關於SystemError:com_backpatch:偏移太大
f = open("test.py", "w")
f.write("def fn():\n a =1000\n")
for a in xrange(3000):
if a == 0:
f.write(" if a == "+str(a)+": \n print "+str(a)+"\n")
else:
f.write(" elif a == "+str(a)+": \n print "+str(a)+"\n")
f.close()
import test
很顯然,如果長度聲明超過一定的長度,它拋出這個錯誤。
有人可以更深入瞭解這個錯誤嗎?
請問爲什麼需要生成這樣的代碼? – 2009-12-08 14:00:14
我們有一個系統,需要應用大約100個規則。如果任何規則通過,我們會處理交易。這些規則由excel文件中的不同團隊維護,而不是開發人員。所以我們寫了一個腳本來生成這樣的代碼。 由於這個錯誤,我們移出了if..elif函數..如果返回。 – 2009-12-12 04:46:36