Python和Stackoverflow都是新手,我想要一些帮助.我想在Python中打印颜色,并且使用Google搜索但运气不佳:(我每次都感到困惑,但没有一个工作.这是我输入的代码.
answer = input ("Wanna go explore? OPTIONS : Yes or No")
if answer == "no":
print("Awww, come on, don't be like that, lets go!")
elif answer == "yes":
print ("Great! Lets go!")
else:
print("Whats that? I couldn't hear you!")
Run Code Online (Sandbox Code Playgroud)
现在,我希望OPTIONS为绿色,是蓝色,无红色.如何实现这一目标?
小智 8
一种使用 python 很好地打印文本或设置文本样式的简单方法,无需任何插件或包。
# the ANSI codes are stored in variables, making them easier to use
black = "\033[0;30m"
red = "\033[0;31m"
green = "\033[0;32m"
yellow = "\033[0;33m"
blue = "\033[0;34m"
magenta = "\033[0;35m"
cyan = "\033[0;36m"
white = "\033[0;37m"
bright_black = "\033[0;90m"
bright_red = "\033[0;91m"
bright_green = "\033[0;92m"
bright_yellow = "\033[0;93m"
bright_blue = "\033[0;94m"
bright_magenta = "\033[0;95m"
bright_cyan = "\033[0;96m"
bright_white = "\033[0;97m"
print(black + "Hello world")
print(red + "Hello world")
print(green + "Hello world")
print(blue + "Hello world")
print(yellow + "Hello world")
print(magenta + "Hello world")
print(cyan + "Hello world")
print(bright_black + "Hello world")
print(bright_red + "Hello world")
print(bright_green + "Hello world")
print(bright_blue + "Hello world")
print(bright_cyan + "Hello world")
print(bright_magenta + "Hello world")
print(bright_yellow + "Hello world")
Run Code Online (Sandbox Code Playgroud)
如果您使用的是支持 ANSI 转义序列的终端和/或 shell,则应该可以使用以下内容:
print("Blah blah \033[0;32mthis part will be green\033[00m blah blah.")
print("Blah blah \033[0;31mthis part will be red\033[00m blah blah.")
Run Code Online (Sandbox Code Playgroud)
我可以确认它确实在bashLinux上工作。有关更多详细信息,请参阅有关 ANSI 转义码的维基百科页面,包括描述不同字符序列/值影响的综合表格。我不提倡将此作为规范的解决方案,但它可能足以满足您的目的。
如果你想在IDLE shell中打印颜色,使用ASCI转义码的答案对你没有帮助,因为它没有实现这个功能.
有一个特定于IDLE的黑客,它允许你PyShell直接写入它的对象,并指定IDLE已经定义的文本标签,"STRING"默认情况下显示为绿色.
import sys
try:
shell = sys.stdout.shell
except AttributeError:
raise RuntimeError("you must run this program in IDLE")
shell.write("Wanna go explore? ","KEYWORD")
shell.write("OPTIONS","STRING")
shell.write(" : ","KEYWORD")
shell.write("Yes","DEFINITION")
shell.write(" or ","KEYWORD")
shell.write("No","COMMENT")
answer = input()
Run Code Online (Sandbox Code Playgroud)
在IDLE中运行时将导致此提示:
以下是所有有效标签的列表:
print("here are all the valid tags:\n")
valid_tags = ('SYNC', 'stdin', 'BUILTIN', 'STRING', 'console', 'COMMENT', 'stdout',
'TODO','stderr', 'hit', 'DEFINITION', 'KEYWORD', 'ERROR', 'sel')
for tag in valid_tags:
shell.write(tag+"\n",tag)
Run Code Online (Sandbox Code Playgroud)
请注意,它'sel'是特殊的,它表示所选的文本,因此一旦点击其他内容,它将被取消选中.它也可以用来启动一些选择复制的文本.
如果您只想以一种非常简单明了的方式在终端上打印ansi颜色,可以查看ansicolor软件包模块:
通过点子安装
$ pip install ansicolors
Run Code Online (Sandbox Code Playgroud)
使用摘要
from colors import red, green, blue
print red('This is red')
print green('This is green')
print blue('This is blue')
from colors import color
for i in range(256):
print color('Color #%d' % i, fg=i)
Run Code Online (Sandbox Code Playgroud)
关于点子的注意事项
pip是python软件包管理器。如果尚未pip安装,则可以使用easy_install pip
如果随后发现您没有easy_install,请下载此文件:http : //peak.telecommunity.com/dist/ez_setup.py并执行以下操作:
python ez_setup.py
easy_install pip
Run Code Online (Sandbox Code Playgroud)
Windows命令外壳的颜色
上面的ansi颜色在Windows命令外壳中对您不起作用。尝试查看此activestate代码段
| 归档时间: |
|
| 查看次数: |
24812 次 |
| 最近记录: |