如何处理任意[text]输入并通过stdin将其输出到stdout?

时间:2015-01-21 23:40:34

标签: python stdin

我正在尝试从stdin读取文本,使用该文本执行操作然后将结果发送到stdout。

char_stream = sys.stdin
input_text = char_stream.read()

output_text=do_stuff_with_text(input_text)
sys.stdout.write(output_text)

如果我对它说,utf8,它无法读取charstream,我认为它需要ASCII。我用谷歌搜索,似乎我读了这样的UTF-8

codecs.getreader("utf-8")(sys.stdin)

但是这只会与utf8兼容,这对我来说是不够的,因为我希望能够在任何文本文件中进行管道传输。实际上我还需要将输出编码为utf8。

这里常见的做法是什么,例如grep?我知道它不是用python编写的,但它仍然是一个有效的例子。我可以在任何格式的文本管道,它永远不会抛出错误。我将如何在python中实现它?

0 个答案:

没有答案