1
14
在python 3中,这是由于在python的标准I/O库中有一个bug导致的。该bug已在python 3.3中修复。
在Unix终端中,输入ctrl+d并不会关闭进程的s t d in。但是,输入enter或ctrl+d确实会导致OS
|
2
9
|
3
4
我在回答这个问题时写了一个解释。 How to capture Control+D signal?
简而言之,终端的control-d只会使终端刷新输入。这使得
|
4
0
第一次它认为它是输入,第二次它是为保持! 只有当输入来自tty时才会发生这种情况。很可能是由于终端设置的原因,在输入换行符(回车)之前,将缓冲字符。 |
5
0
使用“for line in file:”从文件中读取行的形式,python使用隐藏的预读缓冲区(请参见 http://docs.python.org/2.7/library/stdtypes.html#file-objects 在file.next函数中)。首先,这解释了为什么在读取每个输入行时写入输出的程序在按ctrl-d之前不显示输出。其次,为了给用户一些缓冲控制权,按ctrl-d将输入缓冲区刷新为应用程序代码。当输入缓冲区为空时按ctrl-d将被视为eof。 把这个结合起来回答原来的问题。在输入一些输入之后,第一个ctrl-d(单独在一行上)会将输入刷新到应用程序代码中。既然缓冲区是空的,那么第二个ctrl-d将充当文件尾(eof)。
|
July · 如何定义数字间隔,然后四舍五入 1 年前 |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |