【发布时间】:2010-02-22 09:25:01
【问题描述】:
在 bash 脚本中,我可以这样写:
exec 2>&1
exec someprog
someprog 的 stderr 输出将被重定向到 stdout。
有没有办法使用 python 的 os.exec* 函数做类似的事情?
这不一定是可移植的,只需在 Linux 上工作即可。
【问题讨论】:
标签: python linux redirect file-descriptor
在 bash 脚本中,我可以这样写:
exec 2>&1
exec someprog
someprog 的 stderr 输出将被重定向到 stdout。
有没有办法使用 python 的 os.exec* 函数做类似的事情?
这不一定是可移植的,只需在 Linux 上工作即可。
【问题讨论】:
标签: python linux redirect file-descriptor
让我们用一个虚假的参数执行/bin/ls,以便它向标准错误报告。
前两次调用证明ls没有写入stdout,而是将错误信息写入stderr。
在第 3 次和第 4 次调用中,Python 程序将文件描述符 1 复制为文件描述符 2,达到了预期的效果。
【讨论】: