开发者社区> 问答> 正文

Python中当保存一个空列表时,shelve 报错

我想用python shelve保存所有变量(包括基元,对象,列表,字典等)。在我的工作区中,我有一些空列表,这些空列表将在特定条件下或代码的后续步骤中使用和填充。当我想用python shelve它保存我的工作区时,会在空列表上引发错误。我的代码如下:

for key in dir():   
    try:
        my_ws[key] = globals()[key]
    except TypeError:       
        print('ERROR shelving: {0}'.format(key))

展开
收起
安忆333 2019-12-02 19:21:10 950 0
1 条回答
写回答
取消 提交回答
  • shelve中没有空列表的问题,1)在使用shelve对象之前,请正确对其进行初始化。2)排除所有无法序列化的元素。

    import inspect
    import shelve
    my_ws = shelve.open('test')
    for key in dir():
        if not inspect.ismodule(globals()[key]):
            try:
                my_ws[key] = globals()[key]
            except TypeError:       
                print('ERROR shelving: {0}'.format(key))
    
    2019-12-02 19:21:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载