如何在Gulp中使用stdout和stderr child_process - python

我将gulp与python flask一起使用。

var gulp = require('gulp');
var spawn = require('child_process').spawn;
var app = spawn('python', ['app.py']);

gulp.task('runserver', function() {
    app.stdout.on('data', (data) => {
        console.log(`stdout: ${data}`);
    });
    app.stderr.on('data', (data) => {
        console.log(`stderr: ${data}`);
    });
});

但是所有日志都存储在stderr中。
如何调整子进程到控制台的输出?

参考方案

由于您处于Node环境中,因此可以通过以下方式使用stdout和stderr

app.stdin.on('readable', () => {
    var chunk = process.stdin.read();

    if (chunk !== null) {
        process.stdout.write(`data: ${chunk}`);
    }
});
app.stdout.write(`${msg}\n`);

流程对象是一个全局对象,可提供有关当前Node.js流程的信息并对其进行控制。全局而言,它始终可用于Node.js应用程序,而无需使用require()。

您可以参考以下链接:

https://nodejs.org/api/child_process.html#child_process_child_stdin
https://nodejs.org/api/process.html#process_process_stdin

运行python的Unix进程 - python

我有一个执行2个python脚本的cron。如果进程正在运行,如何用“ ps”命令查看?我的脚本名称是:json1.pyjson2.py 参考方案 ps aux | grep json应该这样做,或者只是pgrep -lf json。

在独立的scrapy脚本中使用自定义中间件 - python

我正在编写一个实现自定义下载器中间件的独立抓取脚本(update.py)。该脚本当前使用记录在here和here中的CrawlerProcess()API。看起来像这样:from scrapy.crawler import CrawlerProcess import scrapy class CustomMiddleware(object): .... cu…

线程和多处理模块之间有什么区别? - python

我正在学习如何在Python中使用threading和multiprocessing模块来并行运行某些操作并加速我的代码。我发现很难理解(也许是因为我没有任何理论背景)要理解threading.Thread()对象和multiprocessing.Process()对象之间的区别。另外,对我来说,如何实例化一个作业队列并使其只有4个(例如)并行运行,而另一个…

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…