【发布时间】:2015-08-12 09:05:40
【问题描述】:
我在重定向 python 应用程序的输出时遇到了这个奇怪的问题。我正在运行 bitmessage from source,它会在控制台上打印大量内容。
我尝试使用我编写的应用程序过滤掉一些行。当我将输出重定向到文件python.exe src\bitmessagemain.py>file.txt 时,它工作正常,所有内容都发送到文本文件。当我将输出传送到另一个应用程序python.exe src\bitmessagemain.py | someapp.exe 时,所有“打印”语句似乎都被忽略了。它们不会被重定向,也不会被传送到其他应用程序。
在使用“more”和“type CON”等系统内部命令时,重定向甚至不起作用
有人知道如何解决这个问题吗?
【问题讨论】:
-
我想知道 Windows 是否支持 Unix 风格的管道。是吗?
-
python -c "print('test')" | more工作吗? -
@eryksun 是的,它有效
-
由于
more.com是外部的,因此Python 端可能没有任何问题。 someapp.exe 可以直接从控制台读取,或者如果它检测到 stdin 不是控制台输入,则更改其行为。
标签: python windows redirect printing stdout