4

我有一个 python3 脚本,它使用搁置模块创建多个数据库文件。仅供参考,搁置模块包装了dbm模块,如搁置源代码中所示。shelf.open() 方法用于在磁盘上创建数据库文件,并将所需的输出文件路径作为参数。但是,所创建文件的名称取决于用户系统上可用的 dbm 模块。这意味着该行为与平台无关,正如在 SO:here的其他地方所描述的那样。

我一直找不到一种简单的方法来收集文件名。我曾希望我可以访问文件名作为货架对象的属性,例如可以使用FileIO 类的 name 属性来完成。如何通过对象属性或方法获取架子对象的文件名?

如果做不到这一点,我可以求助于将一个自毁的临时文件对象传递给shelve.open () 调用。但是我不清楚如何做到这一点。请注意,此处已在 SO 上询问了临时架子问题……但如果用户在具有附加 fname 后缀的 dbm 模块的系统上,则提供的答案将不起作用。

感谢您的时间。

4

1 回答 1

4

我刚刚找到了这个答案,它建议在临时子目录中创建搁置文件,然后删除整个目录。我认为这是目前可用的最佳解决方案。

于 2013-09-11T15:51:20.380 回答