当前位置: 首页 > 知识库问答 >
问题:

将可读对象stdout进程重定向到节点中的文件

蒲寂离
2023-03-14

我使用NPM库将markdown解析为HTML,如下所示:

var Markdown = require('markdown-to-html').Markdown;
var md = new Markdown();

...

md.render('./test', opts, function(err) {
  md.pipe(process.stdout)
});

这将结果按预期输出到我的终端。

然而,我需要在我的节点程序执行内部的结果。 我考虑过将输出流写入文件,然后在以后读入,但我无法找到将输出写入文件的方法。

我尝试使用var file=fs.createWriteStream('./test.html');,但node.js流给我带来的不是结果,而是头痛。

我还研究了库的repo和markdown通过util从Readable继承,如下所示:

var util = require('util');

var Readable = require('stream').Readable;
util.inherits(Markdown, Readable);

如有任何资源或建议,将不胜感激。 (我也会使用另一个库来解析markdown,但这给了我到目前为止最好的结果)

共有1个答案

方献
2023-03-14

实际上,创建一个可写的文件流并将markdown通过管道传输到这个流应该可以很好地工作。 尝试使用:

const writeStream = fs.createWriteStream('./output.html');
md.render('./test', opts, function(err) {
  md.pipe(writeStream)
});

// in case of errors you should handle them
writeStream.on('error', function (err) {
  console.log(err);
});
 类似资料:
  • 问题内容: 我想从Groovy程序中执行foo.bat,并将生成的进程的输出重定向到stdout。Java或Groovy代码示例都可以。 foo.bat可能需要花费几分钟才能运行并生成大量输出,因此我希望在生成后立即查看输出,而不是必须等到该过程完成之后才能立即查看所有输出。 问题答案: 它使用一个类读取执行的程序生成的所有输出,并将其显示在其自己的stdout中。

  • 问题内容: 我在cyberciti.biz的评论中看到了这个有趣的问题。 我发现我什至找不到在sh的单行命令中执行此操作的灵活方法。 到目前为止,我对解决方案的想法是: 但是您会看到,这不是同步的,而且致命的是,它是如此丑陋。 欢迎与您分享这个想法。:) 问题答案: 你要 这里的顺序很重要。假设stdin(fd 0),stdout(fd 1)和stderr(fd 2)最初都连接到tty,因此 首先

  • 问题内容: 如何在Python中将stdout重定向到任意文件? 当从ssh会话中启动运行了很长时间的Python脚本(例如,Web应用程序)并进行背景调整,并且ssh会话关闭时,该应用程序将在尝试写入stdout时引发并失败。我需要找到一种方法来使应用程序和模块输出到文件而不是stdout,以防止由于而导致失败。当前,我使用将输出重定向到文件,并且可以完成工作,但是我想知道是否有一种出于好奇而无

  • 我希望将名为bash的进程的stdout重定向到supervisor控制台,以便在启动supervisor时使用 命令,我可以看到子进程日志。我怎么能这么做?我尝试将syslog用于stdout_logfile属性,但它不起作用。

  • 问题内容: 我想将子进程的stderr输出重定向到stdout。常量应该这样做,不是吗? 然而, 确实 输出了一些东西。为什么会这样,如何在stdout上得到错误消息? 问题答案: 仔细阅读源代码即可得出答案。特别是,该文档在显示以下内容时会产生误导: 表示(…)的特殊值表示标准错误应与标准输出进入同一 句柄 。 由于在求值时stdout设置为“默认”(技术上来说),因此stderr也设置为“默认

  • 我使用supervisord作为Docker容器的入口点,如https://docs.Docker.com/articles/using_supervisord/中所述,我希望所有日志都写入stdout,这样我就可以利用内置工具,如或systemd的日志,特别是在CoreOS上运行容器时。 对于stderr,子进程有选项,是否可以以某种方式将子进程stdout重定向回supervisord,而不处

  • 问题内容: 我正在尝试将函数的标准输出重定向到tkinter文本小部件。我遇到的问题是,它会将每一行写到一个新窗口中,而不是将所有内容都列出在一个窗口中。该函数扫描目录并列出任何0k文件。如果没有文件为0k,则将其打印出来。因此,问题在于,如果目录中有30个0k文件,它将打开30个窗口,每个窗口只有一行。现在,我知道问题出在哪里。如果您查看我的功能代码,我会告诉您: 我知道,每次os.stat看到

  • 问题内容: 我知道如何将标准输出重定向到文件,但是我不知道如何将其重定向到字符串。 问题答案: 是的-您可以使用: 然后您可以使用获取字符串。 要指定编码(而不依赖平台定义的编码),请使用构造函数,然后 如果要还原为原始流,请使用: