栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

sys.stdin读什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

sys.stdin读什么?

因此,您使用了Python的“内置函数”,大概是这样的:

file_object = open('filename')for something in file_object:    some stuff here

这通过在文件对象上调用 迭代器 来读取文件,而该 迭代器 恰巧从文件返回下一行。

您可以改用:

file_object = open('filename')lines = file_object.readlines()

它将行从当前文件位置读取到列表中。

现在,

sys.stdin
这只是另一个文件对象,它恰好在程序启动之前由Python打开。您可以根据自己的意愿来处理该文件对象,但这与任何其他文件对象并没有什么不同,只是您不需要
open

for something in sys.stdin:    some stuff here

将遍历标准输入,直到到达文件末尾。这样:

lines = sys.stdin.readlines()

您的第一个问题实际上是关于使用文件对象的不同方式的。

其次,它从哪里读取?它正在从文件描述符0(零)读取。在Windows上,它是文件句柄0(零)。默认情况下,文件描述符/句柄0连接到控制台或tty,因此实际上是从键盘读取的。但是,通常可以通过外壳(如bash或cmd.exe)使用以下语法将其
重定向

myprog.py < input_file.txt

这会将文件描述符零更改为读取文件而不是键盘。在UNIX或Linux中,这使用底层调用

dup2()
。看了你的程序文档,了解更多有关重定向(或者
mandup2
,如果你是勇敢的)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639610.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号