我正在尝试创建一个将所有变量搁置在调用函数中的函数。在以下示例中:shelve.out将在加载变量时包含junk1,junk2,junk3。
def SavePoint():
print('shelving stuff')
filename = 'shelve.out'
my_shelf = shelve.open(filename, 'n') # 'n' for new
for key in dir():
try:
my_shelf[key] = globals()[key]
except TypeError:
#
# __builtins__, my_shelf, and imported modules can not be shelved.
#
print('ERROR shelving: {0}'.format(key))
my_shelf.close()
if __name__ == '__main__':
junk1 = 'a'
junk2 = 'b'
junk3 = 'c'
SavePoint()
我的目标是排除错误。我很难复制错误,代码需要很长时间才能运行。我知道我可以打开" Python Exception Breakpoint"但是代码更改会破坏其他内容,所以这只会让我跳过这段需要一段时间才能运行的代码。我也试图最小化它所需的代码量。我知道我也可以粘贴功能,这将有效,但这只是一行更改,而不是10.不确定这可以做,但我想我会看到是否有任何想法。