(如果这有点含糊,我很抱歉,因为我刚刚开始使用Python)

我正在创建一个sublimitext2intellisense插件,它与从节点.js脚本。我想与之通信的节点应用程序可以在这里找到:https://github.com/clausreinke/typescript-tools。(请注意,一旦调用了tss命令,它将启动它自己的子进程命令行repl,它需要接收要执行的命令。将命令发送到该命令行本身是一个完全不同的问题,我尚未解决。)

我可以通过以下方式与node成功“对话”:self.process = subprocess.Popen( self.args,

stdin = subprocess.PIPE,

stdout = subprocess.PIPE,

stderr = subprocess.STDOUT)

self.result = self.process.communicate()[0]

使用调用

^{pr2}$

问题是一旦节点.js文件被执行,它关闭管道并退出IO进程。对进程的后续调用返回一个ValueError: I/O operation on closed file

我的问题是:如何启动node应用程序,在后台运行,然后从Python向它连续发送“管道”命令?在

我想启动节点.js当插件加载并保持它在后台运行时的服务器

监听键输入,然后发送到节点(已经在工作)

将正在运行的节点进程(在查找定义之后)的输出通过管道传输回python,然后显示输出,但不要关闭线程或进程

所有的步骤都是完整的,除了连续的异步来回,我似乎搞不懂。在

任何帮助都将不胜感激。在

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐