如何阅读和检查python中的stdin / stdout?

时间:2012-02-17 19:52:29

标签: python

对于如何阅读标准输入,我们有this个很好的答案。

  1. 但是我不明白如何运行python代码以便它从文件中读取stdin
  2. printstdout吗?
  3. 我问它因为我在facebook demo puzzle中看到了这个订单:

      

    注意:您需要编写完整代码,所有输入都来自stdin   并输出到stdout如果您使用的是“Java”,则类名为   “解决方案”

2 个答案:

答案 0 :(得分:6)

当您从stdin阅读时,您有三个基本选项:

  • 手动输入内容:

    $ python hello.py
    asfasfasf
    asfasfasfasfasf
    <TYPE CONTROL-D TO END STREAM>
    
  • 使用<

    $ python hello.py < inputfile.txt
    
  • 使用上一个命令的输出:

    $ cat inputfile.txt | grep oranges | python hello.py
    

所有这三个都会通过stdin为您提供输入。


编辑完问题后,您不再提出同样的问题。以下是您的新问题的答案:

  1. 您可以sys.stdin = open('inputfile.txt')使输入文件看起来像stdin。确保这是你想要的。从你的作业提示,听起来我的上述解决方案就是你想要的。
  2. print写信给stdout。

答案 1 :(得分:2)

如果要运行代码以便从stdin(而不是从交互式终端)读取文件,则使用重定向。

python program.py <input_file.txt

<表示在运行脚本时,指定文件将附加到stdin。这种语法在Windows,MacOS和类Unix平台上是相同的。