为了账号安全,请及时绑定邮箱和手机立即绑定

如何将内存文件系统挂载到目录

如何将内存文件系统挂载到目录

慕森王 2022-07-12 10:11:21
我在 Python 中有一个内存文件系统,以下列方式创建:import fsmem_fs = fs.open_fs('mem://')mem_fs.makedirs('/dir1')with mem_fs.open('/dir1/file1', 'w') as file1:    file1.write('test')我想将此文件系统挂载到我的操作系统文件系统中的一个目录(例如,/home/user/mem_dir)。我可以创建一个引用 OS 文件系统的对象:os_fs = fs.open_fs('/home/user/mem_dir')但是我不知道如何将mem_fs安装到os_fs上。我尝试使用MountFS类,但它只创建一个虚拟文件系统。我需要以其他外部应用程序(例如,nautilus)能够看到它并将文件复制到/从那里复制文件的方式创建一个安装点。对于任何反馈,我们都表示感谢。
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

我有同样的要求,因为我是这样管理的


from fs.tempfs import TempFS

tmp = TempFS(identifier='_toto', temp_dir='tmp/ramdisk/')

它确实 mount 创建了一个目录,具有以 _toto 为后缀的任意名称


tmp/ramdisk ls

tmpa1_4azgi_toto


它完全可以作为主机中的标准文件系统使用,就像在您的 python 代码中一样


tmp/ramdisk/tmpa1_4azgi_toto ❯❯❯ mkdir test                                                                    

tmp/ramdisk/tmpa1_4azgi_toto ❯❯❯ ls                                                                            

test


 >>> tmp.listdir('/')

['test']

它看起来很神奇,因为它根本没有出现在挂载主机的文件系统中


 ❯❯❯ df -ah | grep -E '(ramdisk|tmp)'                                              

tmpfs                       785M    1,7M  783M   1% /run

tmpfs                       3,9G    195M  3,7G   5% /dev/shm

tmpfs                       5,0M    4,0K  5,0M   1% /run/lock

tmpfs                       3,9G       0  3,9G   0% /sys/fs/cgroup

tmpfs                       785M     36K  785M   1% /run/user/1000

当您的代码结束或您致电时,它会完全消失


>>> tmp.close()

tmp/ramdisk ❯❯❯ ls

tmp/ramdisk ❯❯❯


干杯


查看完整回答
反对 回复 2022-07-12
  • 1 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信