我也很乐意将格式应用到 input() -方法,但我还没有找到一个方法如何做到这一点。这是测试代码。。。
input()
from colorama import init init(autoreset=True) RED = "\x1b[1;31;40m" print(f"{RED}This text is red\n") not_red = input(f"{RED}Insert some random stuff: ")
而在我的Spyder IDE控制台中,它具有相反的效果:
有人能向我解释一下在不同的控制台上显示的行为吗? 有没有什么方法来格式化 输入() -Windows命令控制台中的文本?这是我的程序正常运行的地方,我想让它更漂亮:-)
输入()
提前谢谢!
colorama 工作人员 replacing sys.stdout and sys.stderr 对于解释ISO6429序列的版本,进行适当的Win32调用来实现它们,并将其余字符发送到基础流。这就解释了你的观察结果: input sys.stdout.write ,并且Spyder自己解释序列,但不受Win32调用的影响。
colorama
sys.stdout
sys.stderr
input
sys.stdout.write
唯一合理的解决办法似乎是使用 输入 没有提示;你不需要做更多的事 print 没有换行符的提示 , 在Python2或 end=""
输入
print
,
end=""