首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以强迫PyFilesystem使文件系统成为单例?

是否可以强迫PyFilesystem使文件系统成为单例?
EN

Stack Overflow用户
提问于 2019-03-09 00:13:59
回答 1查看 236关注 0票数 1

我在用PyFilesystem。我正在测试的代码使用open_fs(file_url)创建默认文件系统。当我测试这段代码时,我现在可以传入mem://filepath/filename来使用内存文件系统来运行测试。

但是,为了进行测试,我需要用测试文件填充内存文件系统。有什么办法让我在文件系统上强制使用全局singeton吗?我希望当open_fs在我无法控制的代码中运行时,它会打开我以前创建的文件系统,并用我的测试文件作为种子。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-09 15:27:01

这里是PyFilesystem作者。简短的回答是否定的,对于内存文件系统来说,一旦关闭FS对象,内存就会被丢弃。只有在底层存储机制是持久的情况下,文件系统才会持久。

稍长一点的答案是,您可以使用TempFS的子目录来创建持久的文件系统。

代码语言:javascript
复制
# Create a temporary filesystem at module scope
temp_fs = open_fs('temp://')

# Acquire new persistent temporary directory
# (this is just a path you can pass to open_fs)
# If you open this multiple times, the data will persist
new_dir = temp_fs.makedir('foo').getsyspath()

# Close temporary filesystem, to delete all directories
temp_fs.close()

这应该会给你你描述的语义。

如果您正在使用的项目是使用FS url打开和关闭文件系统,并且仍然期望数据在那里,那么它将与没有持久存储支持的文件系统中断。也许您可以向作者建议,只要需要,他们就保留FS对象,这是我通常推荐的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55072706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档