我目前正在设计一个简单的游戏,我正在尝试更改我正在打印的特定内容的颜色。我已经下载了colorama模块并使用我在网上找到的示例运行了我的代码,但这不起作用(我稍后会告诉细节(。我知道 Python 选项中的一个设置,但这会影响整个文本而不是特定部分。如果这有助于我的计算机运行Windows,并且我正在运行Python 3.8。这是设置代码,然后几行是我在单独文件中的代码。之后几行是输出:
from setuptools import setup, find_packages
name = 'colorama'
version = '0.1'
def get_long_description(filename):
readme = join(dirname(__file__), filename)
return open(readme).read()
setup(
name=name,
version=version,
description="Cross-platform colored terminal text.",
long_description=get_long_description('README.txt'),
keywords='color colour terminal text ansi windows crossplatform xplatform',
author='Jonathan Hartley',
author_email='tartley@tartley.com',
url='http://code.google.com/p/colorama/',
license='BSD',
packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
include_package_data=True,
zip_safe=True,
install_requires=[
# -*- Extra requirements: -*-
],
entry_points="""
# -*- Entry points: -*-
""",
classifiers=[
'Development Status :: 2 - Pre-Alpha',
'Environment :: Console',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 2.6',
'Topic :: Terminals',
]
# see classifiers http://pypi.python.org/pypi?%3Aaction=list_classifiers
)
import colorama
from colorama import Fore, Style
print(Fore.BLUE + "Hello World")
[34mHello World
文档指出您需要从调用init()
函数开始
应用程序应使用以下方法初始化 Colorama:
具有
以下效果
from colorama import init
init()
在 Windows 上,调用
init()
将从发送到 stdout 或 stderr 的任何文本中筛选出 ANSI 转义序列,并将它们替换为等效的 Win32 调用。
这正是你所看到的它发生在你身上的事情,因为你在开始时看到了[34m
。
您需要在导入colorama之后和打印带有颜色的字符串之前的某个地方调用init()
。 例如:
import colorama
from colorama import Fore, Style
init()
print(Fore.BLUE + "Hello World")