如何阻止用户在Pythonshell中执行Ctrl-Z



在shell中执行代码时,使用Ctrl+Z将"撤消"Windows上的最后一行打印。我想知道是否有办法阻止用户这样做。例如

拥有代码:

    print("Hello")
    print("How are you feeling Today")

将在shell中像这样运行:

Hello
How are you feeling Today

点击Ctrl+Z将删除输出How are you feeling Today

我认为你的问题措辞很糟糕,因为当你应该说"输入"时,你说的是"执行",当你该说"回车"时,说"打印",当应该说"单词"或"编辑单元"时,又说"行"。因此,你得到的评论适用于你写的内容,而不是你应该写的内容。

我还得出结论,您没有使用控制台解释器。我基于你的回答:"如果你打印"hello",Ctrl-Z会删除那行代码。如果你先打印"hello",然后打印"hi",它只会删除"hi"。这并没有描述控制台解释器,它唯一的"撤消"键是Backspace和Delete。

例如,它确实描述了Idle的行为。如果输入"hello"但未按enter键,^Z将删除该单词。如果输入"你好,嗨",^Z将删除"嗨"。第二个^Z将删除编辑单位","。第三个^Z删除"你好"。第四个^Z在'>>>'提示后不执行任何操作。它不会删除以前的语句或执行中的输出。

^Z是文本编辑器中撤消的标准代码,至少在Windows上是这样。默认情况下,Idle遵循此标准。要回答您的问题:Idle允许您将不同的密钥绑定到Undo(请参阅选项->Idle首选项->密钥),但我不相信您可以在不绑定其他密钥的情况下解除^Z的绑定。据我所知,大多数其他编辑器都不允许您更改密钥绑定。

最新更新