Python colorama无法使用输入?

时间:2015-09-30 17:48:51

标签: python-3.x colorama

最后今天让colorama工作了,打印字符串时效果很好,但是当我尝试使用colorama输入时,我得到了每个人似乎都会遇到的常见错误。

这是我的代码:

launch = input(Fore.GREEN + "Launch attack?(Y/N): ")

输出屏幕截图:

enter image description here

2 个答案:

答案 0 :(得分:3)

在我的系统上,input()使用颜色,如果添加

import sphinx.quickstart

到您的模块。

所以这是完整的代码。

from colorama import Fore
import colorama
import sphinx.quickstart
colorama.init()
launch = input(Fore.GREEN + "Launch attack? (Y/N): ")

(这导致两个问题:

  1. 为什么它首先不起作用?
  2. 实际原因是什么? - 有人可能想深入了解sphinx源代码。)
  3. N.B。如果你从 Git Bash 通过winpty运行python,请设置convert

    colorama.init(convert=True)
    

    否则,您无法获得当前版本的颜色。

答案 1 :(得分:2)

我遇到了同样的问题(Python 3.5.4),为了防止其他人看到这个问题,你总是可以依赖于组合打印/输入调用的解决方法输入电话:

print(Fore.GREEN + "Launch attack?(Y/N): ", end='')
launch = input()

这应该产生与您的问题完全相同的输出,没有额外的空白行和代码着色工作,而无需导入任何其他内容。

(小?)缺点是你最终会得到两行代码,而你以前只有一行代码。