数据库
首页 > 数据库> > 是否可以使用文件对象属性获取搁置数据库文件名? (Python)

是否可以使用文件对象属性获取搁置数据库文件名? (Python)

作者:互联网

我有一个python3脚本,使用shelve模块创建多个数据库文件.仅供参考,shelve模块包装dbm模块,如shelve source code所示.tamard.open()方法用于在光盘上创建数据库文件,并将所需的输出文件路径作为参数.但是,创建的文件的名称取决于用户系统上的可用dbm模块.这意味着该行为不是平台无关的,如SO:here中其他地方所述.

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

如果做不到这一点,我可以尝试将自毁的tempfile对象传递给shelve.open()调用.但是我不清楚如何实现这一目标.
请注意,SO here上已询问临时货架问题…但如果用户所在的系统具有将附加fname后缀的dbm模块,则所提供的答案将不起作用.

感谢您的时间.

解决方法:

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

标签:python,python-3-x,dbm,shelve
来源: https://codeday.me/bug/20190624/1282403.html