【问题标题】:Interprocess in-memory filesystem in Python?Python中的进程间内存文件系统?
【发布时间】:2018-12-09 03:36:46
【问题描述】:

PyFilesystem (fs on pip) 是一个很棒的库,它支持使用 Python 创建内存中的文件系统。但是,我希望在一个进程中在 Python 中创建和维护一个文件系统,并在另一个进程中在 Python 中动态访问该文件系统。

Here is the barebones docs for the MemoryFS class 但它似乎不能像那样使用。它可以从“路径”打开,但该路径在两个不同的进程中并不意味着同一件事。看起来它们(可以理解)完全被沙盒化了。

这在 PyFS 中可行吗?如果没有,Python中是否有替代方法?如果没有,是否有类似的跨平台解决方案可以以这种方式运行的 ram-disk?

【问题讨论】:

  • 欢迎来到 StackOverflow。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 On topichow to ask 在这里申请。 StackOverflow 不是设计、编码、研究或教程服务。
  • 请问?我不认为我做了任何违反指导方针的事情。我已经提出了一个无效的解决方案,我正在寻找替代方案。
  • @MatthewMage 一个简单的 ramdisk 对你有用吗?

标签: python filesystems ramdisk


【解决方案1】:

最初的 PyFilesystem 有工具可以做到这一点。例如,您可以通过 xmlrpc 公开文件系统,并通过 FS 对象连接到它。

PyFilesytem2 没有这样的功能。尽管 v2 旨在使实现“远程文件系统”变得更加容易。

我不确定您的用例是什么,但您可以将数据存储在 ftp 服务器或 Amazon S3 上。 PyFilesystem 支持这两者。有什么特别需要内存解决方案的理由吗?

PyFilesystem 邮件列表让我成为就这些事情进行头脑风暴的更好地方。

【讨论】:

  • 有重新实现该功能的计划吗?我们希望有一个由一个进程维护的 MemoryFS,这是存储下载文件的地方,并且可供其他人访问。我们不希望每次运行访问过程时都从服务器重新下载数据。所以在 FTP 或 S3 上维护数据在某种程度上已经是我们正在做的事情了。
  • 如果可能的话,我们也想防止触摸磁盘。所以不幸的是,您提出的解决方案不适合我们的问题集。不过感谢您的评论!
  • 没有立即的计划,但这并不是说它永远不会发生。从它的声音来看,您可能需要考虑使用缓存代理,或者使用 memcached 或 Redis 滚动您自己的缓存。
  • 关于“需要内存解决方案的任何特殊原因?”,我正在寻找一种在独立进程之间共享内存的方法,或者至少共享文件。我现在可以使用操作系统的文件系统来执行此操作。但是进程必须轮询目录以进行更改,从而导致性能权衡。如果我们有一个可挂载的内存 fs 可以在物理文件系统等进程之间共享,这将实现我想做的事情。
  • @WillMcGugan 还是没有计划? :(
猜你喜欢
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 2015-08-04
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
  • 2017-01-04
  • 2011-08-03
相关资源
最近更新 更多