我正在寻找一种方法来检查字符串是否定义了颜色,因为我的程序依赖于用户输入颜色,并且当他们输入错误的颜色时它会中断。我怎样才能做到这一点?这里有些例子:
check_color("blue") > True
check_color("deep sky blue") > True
check_color("test") > False
check_color("#708090") > True
Run Code Online (Sandbox Code Playgroud)
以下是使用 matplotlib 检查字符串是否定义颜色的方法:
>>> from matplotlib.colors import is_color_like
>>>
>>> is_color_like('red')
True
>>> is_color_like('re')
False
>>> is_color_like(0.5)
False
>>> is_color_like('0.5')
True
>>> is_color_like(None)
False
>>>
>>> matplotlib.colors.__file__
'/usr/lib/python2.7/site-packages/matplotlib/colors.py'
Run Code Online (Sandbox Code Playgroud)
在 matplotlib.colors 模块的源代码中是这样写的:
该模块还提供用于检查对象是否可以解释为颜色 (:func:
is_color_like)、将此类对象转换为 RGBA 元组 (:func:to_rgba) 或#rrggbb格式 (:func : ) 的类似 HTML 的十六进制字符串的 函数:to_hex),以及一个(n, 4)RGBA 数组 (:func:to_rgba_array)的颜色序列。缓存用于提高效率。
| 归档时间: |
|
| 查看次数: |
3742 次 |
| 最近记录: |