繁体   English   中英

如何将数据从一个python脚本文件发送到pygtk中的另一个

[英]how to send data from one python script file to another in pygtk

我想将数据从一个py文件( stuff.py )发送到pygtk中的另一个py文件( start.py ),这意味着我想将数据从一个窗口发送到另一个窗口,该窗口将在1st中进行选择。 所以有人让我知道如何将数据从一个文件发送到另一个文件。

我正在使用subprocess

subprocess.call('start.py', shell=True)

首先,您确实应该在谈论将数据从一个过程发送到另一个过程—在文件之间发送数据没有多大意义(除非您正在谈论从文件1中获取内容并将其复制粘贴到文件2中,但这就是显然不是这个意思)。

这称为IPC(进程间通信)。 有多种方法可以做到这一点。 列出一些选项:

  • 一个进程写入文件,另一个进程从该文件读取
  • 一个进程写入一个命名管道,另一个进程从该命名管道读取(与第一个选项几乎可以互换)
  • 一个进程通过另一个进程侦听的端口上的TCP /套接字连接到另一个进程,然后它们在一段时间内开始交换TCP数据包
  • 进程共享计算机RAM的一部分,以便它们可以在同一位置进行读写(这可以有很好的性能,但是由于写时复制,恐怕它在Python上不是那么简单)可以非常轻松地触发,AFAIK)
  • 您使用更高级的IPC机制(例如ZeroMQ),也更适合于联网。 这些使您负担了所有低级技术和协议细节的负担,因此,如果IPC是您需要定期处理的日常任务和非平凡任务,那么我强烈建议您研究ZeroMQ或类似的东西。 有关如何入门的更多信息,请参见http://zeromq.orghttp://zeromq.github.io/pyzmq/ ,如果这是您的选择。

有关更多信息,请参见https://en.wikipedia.org/wiki/Inter-process_communication

关于您有关subprocess.call(...) -否,这只会调用另一个文件来创建一个全新的进程; 这将不会影响任何现有进程,无论它们是否从start.py生成。 同样,据我所知,您的应用程序是否使用pygtk,应该与如何进行IPC的问题或多或少无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM