Python shell对单独运行脚本的访问

Python shell对单独运行脚本的访问,python,shell,process,Python,Shell,Process,我通过mod_wsgi在web服务器上运行Python应用程序,并且我能够通过服务器上的SSH访问pythonshell。当应用程序运行时,应用程序的一部分会随着时间的推移在内存中生成字典和少量列表 是否有可能在服务器上启动pythonshell,并能够通过shell访问字典和列表,或者是对应用程序进行pickle或json编程并定期或通过事件触发器将它们存储在文件中的唯一选项 即使这不是针对web服务器的情况,pythonshell是否可以访问已经运行的Python应用程序?通常不能从一个Py

我通过mod_wsgi在web服务器上运行Python应用程序,并且我能够通过服务器上的SSH访问pythonshell。当应用程序运行时,应用程序的一部分会随着时间的推移在内存中生成字典和少量列表

是否有可能在服务器上启动pythonshell,并能够通过shell访问字典和列表,或者是对应用程序进行pickle或json编程并定期或通过事件触发器将它们存储在文件中的唯一选项


即使这不是针对web服务器的情况,pythonshell是否可以访问已经运行的Python应用程序?

通常不能从一个Python解释器访问另一个Python解释器

最常用的方法是在服务器程序中放入一个套接字上的解释器(或管道或任何东西),然后将shell连接到解释器

code
模块上执行此操作并不困难,但要使其与普通交互式解释器shell一样好,需要做更多的工作。我相信IDLE和IPython都包含很多有用的源代码,甚至可能是一些你可以开箱即用的东西,或者只需要很少的修改

也可以在两个单独的程序之间直接共享数据。例如,在
mmap
上使用
multiprocessing.Value
——或者更简单地说,只将数据保存在数据库文件中而不是内存中。这样,shell就可以直接读取数据,而无需直接与服务器交互。然而,这意味着要有适当的锁,或者尝试尽可能原子化地编写,并接受shell仍然会偶尔因为竞争而收到垃圾

但实际上,大多数情况下,如果您能够通过pickle/JSON/任何方式转储数据,那么这是最简单、最安全的解决方案