(如果我刚开始使用Python,这有点模糊,请道歉。)
我正在创建一个SublimeText 2 intellisense插件,该插件与从Node.js脚本生成的正在运行的命令行节点服务器进行通信。我想在这里找到的节点应用程序:https://github.com/clausreinke/typescript-tools。 (请注意,一旦调用了tss命令,它就会启动它自己的子进程命令行repl,它需要接收要执行的命令。获取命令到命令行是完全不同< / em>问题本身,我还没有解决。)
我可以通过以下方式成功地与节点“交谈”:
self.process = subprocess.Popen( self.args,
stdin = subprocess.PIPE,
stdout = subprocess.PIPE,
stderr = subprocess.STDOUT)
self.result = self.process.communicate()[0]
使用
调用self.thread = NodeJS( args )
self.thread.start()
self.handle_thread( self.thread )
问题是一旦执行了node.js文件,它就会关闭管道并退出IO进程。对该过程的后续调用返回
ValueError: I/O operation on closed file
我的问题是:如何启动节点应用程序,在后台运行它,然后从Python连续“管道”命令?
我想
所有步骤都是完整的,除了连续的异步来回,我似乎无法弄清楚。
任何帮助都将不胜感激。
答案 0 :(得分:1)
在Python中创建Unix域套接字或邮件槽,在Node.js中连接它,并将其用作您的通信渠道。