我们有this如何阅读stdin很好的答案。如何阅读和检查在Python中的标准输入/标准输出?
- 但我不明白我该如何运行python代码,以便它从文件中读取
stdin
? - 是
print
就像stdout
?
我问那是因为我看到了Facebook的演示谜题顺序如下:
注意:您需要编写完整的代码把所有的投入都是从标准 并且输出到stdout如果您正在使用“ Java”的,类名是 ‘解决方案’
我们有this如何阅读stdin很好的答案。如何阅读和检查在Python中的标准输入/标准输出?
stdin
?print
就像stdout
?我问那是因为我看到了Facebook的演示谜题顺序如下:
注意:您需要编写完整的代码把所有的投入都是从标准 并且输出到stdout如果您正在使用“ Java”的,类名是 ‘解决方案’
当你从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
给你输入。
编辑完你的问题后,你不再提出同样的问题。这里是你的新问题的答案:
sys.stdin = open('inputfile.txt')
让输入文件看起来像标准输入。确保这是你想要的。从您的作业提示,听起来像我的上述解决方案是你想要的。print
写入标准输出。如果你想使一个文件从标准输入(而不是从交互式终端)读取运行代码,然后使用重定向。
python program.py <input_file.txt
的<
意味着命名的文件将被附加在运行脚本时,标准输入。这个语法在Windows,MacOS和类Unix平台上是相同的。
谢谢,我添加了一个关于标准输出的部分。你能回答这个吗? – 0x90 2012-02-17 19:59:19
@ ZoZo123 stdout只是'> out_file.txt' – 2012-02-17 20:00:21
您错过了'sys.stdin = fileobject' – Gandaro 2012-02-17 19:59:23