2012-02-17 139 views
1

我们有this如何阅读stdin很好的答案。如何阅读和检查在Python中的标准输入/标准输出?

  1. 但我不明白我该如何运行python代码,以便它从文件中读取stdin
  2. print就像stdout

我问那是因为我看到了Facebook的演示谜题顺序如下:

注意:您需要编写完整的代码把所有的投入都是从标准 并且输出到stdout如果您正在使用“ Java”的,类名是 ‘解决方案’

回答

5

当你从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')让输入文件看起来像标准输入。确保这是你想要的。从您的作业提示,听起来像我的上述解决方案是你想要的。
  2. print写入标准输出。
+0

您错过了'sys.stdin = fileobject' – Gandaro 2012-02-17 19:59:23

2

如果你想使一个文件从标准输入(而不是从交互式终端)读取运行代码,然后使用重定向。

python program.py <input_file.txt 

<意味着命名的文件将被附加在运行脚本时,标准输入。这个语法在Windows,MacOS和类Unix平台上是相同的。

+0

谢谢,我添加了一个关于标准输出的部分。你能回答这个吗? – 0x90 2012-02-17 19:59:19

+0

@ ZoZo123 stdout只是'> out_file.txt' – 2012-02-17 20:00:21

相关问题