我目前对这段代码感到困惑。
究竟是做什么的
open(0)
Run Code Online (Sandbox Code Playgroud)
做?
我已经查阅了文档或试图在互联网上找到一些东西,但没有任何线索。
使用此代码的代码片段:
map(abs,map(int,open(0).read().split()))
Run Code Online (Sandbox Code Playgroud)
谢谢^
0是与stdin(1对应于stdout, 2to stderr)关联的文件描述符。open将int文件描述符作为参数,而不仅仅是路径,因此传递0是合法的。这只是创建绑定到的文件对象而stdin无需import sys.
它的缺陷在于,当它关闭时,它将关闭文件描述符0(因为closefd=False没有通过),所以sys.stdin会在没有意识到的情况下关闭(尽管如果有人尝试使用它,它可能会弄清楚)。
| 归档时间: |
|
| 查看次数: |
31 次 |
| 最近记录: |