Python 3 中是否有任何特殊输入可以破坏 input() 函数?

Is there any special input that can break the input() function in Python 3?

假设我正在制作一个 cat 程序,我打算使用 input() 获取用户的输入,将其存储为字符串供以后使用,然后输出字符串(为简单起见,假设它只是打印它)。

用户输入的内容是否会使我的程序无法正确存储字符串?我已经测试了像 \n 这样的特殊字符,但它们工作正常 - 是否有任何非常晦涩的字符可能会以某种方式破坏我的程序?

这是我的代码的高度简化版本,其行为方式应与我的非简化代码相同:

a = input()
print(a)

无法通过输入破解代码,输入功能仅存储用户所说的内容。无论您输入的是字符串、unicode 还是其他任何内容,结果都将始终相同。但是,如果变量被赋予权力,如下例所示:

import os

a = input()
os.system(a)

那么这个变量就可以访问命令行了。如果您不写入 shell 变量,则该变量无能为力。