擅长:python、mysql、java
<p>如果我将深度从2更改为1,或者在Python3下运行(在修复了<code>print</code>语句并使用<code>items()</code>而不是{<cd3>})时,代码“有效”。但是,键列表显然不是迭代<code>recursive_dict()</code>返回值时找到的一组键。在</p>
<p>来自<code>shelve</code>文档的以下限制可能适用(重点是我的):</p>
<blockquote>
<p>The choice of which database package will be used (such as dbm, gdbm or bsddb) depends on which interface is available. Therefore it is not safe to open the database directly using dbm. <em>The database is also (unfortunately) subject to the limitations of dbm, if it is used — this means that <strong>(the pickled representation of) the objects stored in the database should be fairly small</strong>, and in rare cases key collisions may cause the database to refuse updates.</em></p>
</blockquote>