由colorama提供的有效前景色是colorama.Fore
上的變量。我們可以使用vars(colorama.Fore).values()
來檢索它們。我們可以通過使用random.choice
來隨機選擇前景色,爲其提供vars
獲得的前景色。
然後我們簡單地套用一個隨機選擇的顏色,每一個字符:
text = """
_____ _ _ __ _
/____| | | | /_| |
| (___ | |_ __ _ ___| | _______ _____ _ __| |_| | _____ __
\___ \| __/ _` |/ __| |//_ \ \// _ \ '__| _| |/ _ \ \ /\//
____) | || (_| | (__| < (_) \ V/__/ | | | | | (_) \ V V/
|_____/ \__\__,_|\___|_|\_\___/ \_/ \___|_| |_| |_|\___/ \_/\_/
"""
import colorama
import random
colors = list(vars(colorama.Fore).values())
colored_chars = [random.choice(colors) + char for char in text]
print(''.join(colored_chars))
這將打印出不同的顏色的每一個字符:
如果你想彩色線條代替,這是一個簡單的變化:
colored_lines = [random.choice(colors) + line for line in text.split('\n')]
print('\n'.join(colored_lines))
您可以根據需要定製顏色列表。舉例來說,如果你想刪除它可能類似於您的終端背景(黑色,白色等)的顏色,你可以這樣寫:
bad_colors = ['BLACK', 'WHITE', 'LIGHTBLACK_EX', 'RESET']
codes = vars(colorama.Fore)
colors = [codes[color] for color in codes if color not in bad_colors]
colored_chars = [random.choice(colors) + char for char in text]
print(''.join(colored_chars))
其中給出:
來源
2017-09-26 11:55:54
jme
直美!非常感謝你! – WeInThis
我希望我可以移除黑色,因爲CMD,但我認爲它會很好:)如果它很容易去除黑色只。會很棒! – WeInThis
哦。我現在確實有黑色的顏色,但是如何在這種情況下將其從值中刪除?有沒有可能的代碼只是刪除而不是改變整個代碼? :) – WeInThis