我正在使用PyFilesystem。我正在測試的代碼使用open_fs(file_url). 當我測試這段代碼時,我現在可以傳入mem://filepath/filename以使用內存文件系統運行測試。但是為了測試,我需要用我的測試文件填充內存文件系統。有沒有辦法讓我在文件系統上強制使用全局單音?我希望當open_fs在我無法控制的代碼中運行時,它會打開我之前創建并用我的測試文件播種的相同文件系統。
1 回答

白板的微信
TA貢獻1883條經驗 獲得超3個贊
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 對象,這是我通常建議的。
添加回答
舉報
0/150
提交
取消