我正在编写一个想要在 unix 管道中使用的 python 脚本。我的目标是使用 curses 写入屏幕(应该只由运行命令的人看到,而不是管道),然后在最后将“返回值”写入 stdout,以便它可以继续沿着管道,某事沿着 ./myscript.py | consumer_script
在我找到 This 之前,这以一种神秘的方式失败了。建议的解决方案是使用 newterm 而不是 init_scr。
我的问题是我使用的是 python,从我在文档中可以找到的内容来看,newterm 不存在。我能找到的只是对 newterm 的单一引用,而且它没有附带链接。
有人可以给我指出 python newterm,或者建议另一种使用管道和诅咒的方法。
答案 0 :(得分:0)
我认为你让这变得比它需要的更复杂......简单的答案是将curses流写入另一个句柄而不是stdout。如果它适合您,stderr 是显而易见的选择。简而言之,写入 stdout 的任何内容都会进入管道,如果您不希望它在那里,则需要一个不同的句柄。
查看此线程以了解在 python 中写入 stderr 的方法: How to print to stderr in Python?