如何重定向默认程序输出?

时间:2017-08-28 16:35:30

标签: python windows shell pipe

我正在尝试将我的python脚本的输出管道化为pygmentize。

在注册表中我设置如下:

socket.emit('a message', {
        that: 'only'
      , '/chat': 'will get'
    });

不工作(根本没有管道),出了什么问题?

1 个答案:

答案 0 :(得分:1)

您可以将powershell用于此

C:\ PowerShell -Command " python [yourprogram.py] | pygmentize -l py3t"
  

-Command

     

执行指定的命令(和任何参数),就好像它们是在Windows PowerShell命令提示符下键入的一样,然后退出,除非指定了NoExit参数。实质上,-Command之后的任何文本都作为单个命令行发送到PowerShell(这与-File处理发送到脚本的参数的方式不同)。

     

Command的值可以是" - ",一个字符串。或脚本块。如果Command的值为" - ",则从标准输入读取命令文本。   脚本块必须括在大括号({})中。只有在Windows PowerShell中运行PowerShell.exe时,才能指定脚本块。脚本的结果将作为反序列化的XML对象返回到父shell,而不是活动对象。

     

如果Command的值是字符串,则Command必须是命令中的最后一个参数,因为在命令后键入的任何字符都被解释为命令参数。   要编写运行Windows PowerShell命令的字符串,请使用以下格式:

     

"& {<command>}"

     

其中引号表示字符串,并且调用操作符(&amp;)导致执行命令。

可以找到Command的上述文档here