【发布时间】:2016-07-18 03:51:30
【问题描述】:
在 Linux 的 bash shell 中,我可以(从文件)读取命令,然后执行命令并将所有输出、错误和返回代码写入文件。我可以通过在 windows 中使用 python 来做到这一点吗?
【问题讨论】:
-
如果它只是写给
stdout和stderr,那么当然你可以简单地使用subprocess.Popen;将这些标准文件设置为subprocess.PIPE;并调用Popen实例的communicate方法。但是如果它通过打开\\.\CONOUT$直接输出到控制台,那么你需要通过ReadConsoleOutput刮取控制台的输出。它还可以使用OutputDebugString输出调试消息,在这种情况下,您需要使用调试器 API 来捕获这些消息。 -
@eryksun,为什么要把整个答案塞进评论里?你写的是一个尝试的答案。当你这样做时,任何阅读它的人都会感到困惑。我确定您正在尝试提供帮助,但 IMO 它降低了 SO 的有用性。 cmets 中也没有降价格式……当您包含示例时,这使得它们难以阅读。所以...如果您有实际的评论或澄清问题,请使用评论字段。否则,只需回答问题。
-
@CoreyGoldberg,这只是评论,这可能会帮助正在写完整答案的人。对于我看到的大多数问题,我没有时间编写(和维护)令人满意的答案。因此,我提供一些我认为有帮助的信息,或者提供对现有答案的反馈以改进它们。