Gan*_*ndi 25 python interactive input sys
这可能是一个愚蠢的问题,但由于我找不到答案,我不得不问它.
在交互式python中,我想处理一条消息:
>>> message = sys.stdin.readlines()
Run Code Online (Sandbox Code Playgroud)
一切正常,但是......如何阻止它获取输入并将其保存到消息变量中?使用ctrl + c停止会停止整个过程,因此无需在任何地方保存输入.我想有一个简单的答案,我找不到...
San*_*nda 48
对于基于unix的系统:
你好,你可以带: Ctrld
Ctrld通过发送EOF关闭标准输入(stdin).
示例:
>>> import sys
>>> message = sys.stdin.readlines()
Hello
World
My
Name
Is
James
Bond
# <ctrl-d> EOF sent
>>> print message
['Hello\n', 'World\n', 'My\n', 'Name\n', 'Is\n', 'James\n', 'Bond\n']
Run Code Online (Sandbox Code Playgroud)
对于Windows:
要在Windows上发送EOF,您可以替换Ctrld为Ctrlz
使用CTRL-D.
message = sys.stdin.readlines()
abc
def
<CTRL-D>
# message == ['abc\n', 'def\n']
Run Code Online (Sandbox Code Playgroud)
这是一个老问题,但它需要有关Windows和不同键盘布局的更新.
如果CTRL + Z和CTRL + D**都不能在Windows上运行,并且您正在徘徊正在进行的操作:
这有点奇怪和违反直觉.我前段时间更改了键布局以包含抛光字符,但所有常用键保持不变,当我正常使用键盘时z仍然映射到z,通常ctrl + z在我的键盘中什么也不做,所以我不应该更改.但显然在cmd中它的工作方式不同,为了在ctrl和z之间建立默认链接,我必须切换到默认布局,或者使用控件y来发送EOF.
| 归档时间: |
|
| 查看次数: |
47996 次 |
| 最近记录: |