gpt4 book ai didi

python - PyFilesystem 可以被迫使文件系统成为单例吗?

转载 作者:行者123 更新时间:2023-12-01 08:14:02 24 4
gpt4 key购买 nike

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

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

最佳答案

PyFilesystem 作者在这里。简短的回答是,对于内存文件系统,一旦关闭 FS 对象,内存就会被丢弃。仅当底层存储机制是持久的时,文件系统才会持久。

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

# 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 对象,这是我通常建议的做法。

关于python - PyFilesystem 可以被迫使文件系统成为单例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55072706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com