【问题标题】:why doesn't exec(chr(8)) delete a character from the shell?为什么 exec(chr(8)) 不从 shell 中删除一个字符?
【发布时间】:2017-11-23 18:18:29
【问题描述】:

我知道这行不通,而且会产生错误,但我还是会问它。 exec(chr(8)) 不会从 shell 中删除字符... chr(8) 是 ascii 中的退格键。所以很自然,我认为它会从 shell 中删除一个字符,比如

>>> exec(chr(8)) 

会回来

>>> exec(chr(8) # Missing a parenthesis.

【问题讨论】:

  • 因为退格字符不是有效的 Python 代码。
  • 你为什么使用exec?你认为exec 做了什么? “执行”退格是什么意思?
  • @Bren 我想直接在终端中输入chr(8) 的等价物,但由于我们不能这样做,我们将不得不使用exec(chr(8))
  • @RobertoBassett:为什么? exec 用于执行 Python 代码。不是用来敲键盘的。
  • 但是print("a") 是有效的 Python 代码。

标签: python python-3.x ascii exec chr


【解决方案1】:

首先exec是用于以字符串的形式执行多行代码。你应该使用评估。当您使用 eval(chr(8)) 时,它会给出错误“解析时出现意外的 EOF”。执行此代码只会导致之前没有字符的退格,从而导致错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多