Python - 如何搁置|使用函数莳萝工作区变量?

时间:2018-03-01 15:53:38

标签: python breakpoints shelve

我正在尝试创建一个将所有变量搁置在调用函数中的函数。在以下示例中: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.不确定这可以做,但我想我会看到是否有任何想法。

0 个答案:

没有答案