【发布时间】:2014-11-03 11:38:22
【问题描述】:
在服务器上运行的 python 应用程序是否有可能运行另一个 python 应用程序并拦截子应用程序进行的所有 HDD 读取和写入。然后通过 Web 套接字将它们发送到客户端应用程序,以便可以在客户端而不是服务器上执行操作?
【问题讨论】:
-
这可能需要对操作系统进行低级更改,因此您应该指定自己的
标签: python redirect io websocket
在服务器上运行的 python 应用程序是否有可能运行另一个 python 应用程序并拦截子应用程序进行的所有 HDD 读取和写入。然后通过 Web 套接字将它们发送到客户端应用程序,以便可以在客户端而不是服务器上执行操作?
【问题讨论】:
标签: python redirect io websocket
如果不进行特定于操作系统的更改,就不可能拦截真正的硬盘访问。
更简单的方法是拦截文件访问。
如果您正在importing 执行写入操作的 python 模块,这可以通过简单的monkey patching 来完成 - 只需将文件对象替换为您创建的自定义类的实例即可。如果您真的愿意,您甚至可以替换open。
如果您要启动一个单独的进程(例如使用subprocess),并且想继续这样做,我怀疑这对于纯 python 是不可能的(不修改被调用程序)
linux上一些可能的系统级解决方案:
【讨论】: