首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有人能给我一个关于stdin和stdout的Python 3的快速教程吗?

有人能给我一个关于stdin和stdout的Python 3的快速教程吗?
EN

Stack Overflow用户
提问于 2012-01-24 00:21:35
回答 5查看 74K关注 0票数 21

我知道这听起来像我可以谷歌的东西,但事实是,我找不到或不理解很少的Python3源代码解释了什么。

以下是我的问题:

  • input()是Python3中的stdin函数吗?这是否意味着当您打开filename.py程序时,用户输入的是stdin
  • print()是Python3中的stdout函数,还是必须写入文件?
  • 对于Spotify拼图,is表示“输入是从stdin读取的”。我的文件应该包括什么stdinstdout

更新:这是否意味着我可以使用:

代码语言:javascript
复制
import sys
unfmtdDate = str(sys.stdin.read())

...instead的.

代码语言:javascript
复制
unfmtdDate = str(input())
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-01-24 00:30:29

stdinstdout是操作系统提供的类似文件的对象。通常,当一个程序在交互会话中运行时,stdin是键盘输入,stdout是用户的tty,但是shell可以用于从普通文件或管道输出重定向到其他程序。

input()用于提示用户输入类型。在类似于编程难题的情况下,通常假定stdin是从数据文件重定向的,当给出输入格式时,通常最好使用sys.stdin.read()而不是提示使用input()输入。input()用于交互式用户输入,它可以显示提示符(在sys.stdout上),并使用interactive库(如果存在)来允许行编辑等等。

实际上,print()stdout最常见的写作方式。没有必要做任何特殊的事情来指定输出流。如果没有将备用文件作为print()参数提供给sys.stdout,则它将写入file=

票数 18
EN

Stack Overflow用户

发布于 2012-01-24 00:45:56

运行Python程序时,sys.stdin是连接到标准输入(STDIN)的文件对象,sys.stdout是标准输出的文件对象(STDOUT),sys.stderr是标准错误的文件对象(STDERR)。

在文档中的任何地方,您都可以看到对标准输入、标准输出或标准错误的引用,它引用的是这些文件句柄。您可以直接访问它们(sys.stdout.write(...)sys.stdin.read()等)或者使用使用这些流的方便函数,比如input()print()

对于Spotify难题,读取输入的最简单方法如下:

代码语言:javascript
复制
import sys
data = sys.stdin.read()

在这两行之后,程序的输入现在在str data中。

票数 5
EN

Stack Overflow用户

发布于 2012-01-24 00:30:41

input()是Python3中的stdin函数吗?

是。

这是否意味着当您打开filename.py程序时,用户输入的是stdin

是。

print()是Python3中的stdout函数,还是必须写入文件?

你可以任意使用。

对于Spotify的谜题,是说“输入是从stdin读取的”。我的文件应该包括什么stdinstdout

只需使用import sys访问sys.stdinsys.stdout文件即可。如果使用inputprint内置函数,则不需要导入。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8980520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档