为什么 exec(chr(8)) 不从 shell 中删除一个字符?

why doesn't exec(chr(8)) delete a character from the shell?

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

>>> exec(chr(8)) 

会return

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

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