Python Pygame颜色-使用字符串时参数无效

Python Pygame颜色-使用字符串时参数无效,python,colors,pygame,Python,Colors,Pygame,我目前正在从一个文本文件加载一个颜色值,pygame给了我错误信息。它可以在我的Windows计算机上正常工作,但不能在代码相同的Linux上正常工作。下面是一个例子,说明这段代码在耍什么鬼把戏: color = getSetting('playerColor') //reads a .ini from SafeConfigParser print color //prints: #f54e4e print pygame.Color('#f54e4

我目前正在从一个文本文件加载一个颜色值,pygame给了我错误信息。它可以在我的Windows计算机上正常工作,但不能在代码相同的Linux上正常工作。下面是一个例子,说明这段代码在耍什么鬼把戏:

color = getSetting('playerColor')  //reads a .ini from SafeConfigParser
print color                        //prints: #f54e4e
print pygame.Color('#f54e4e')      //prints: (245, 78, 78, 255)
print pygame.Color(color)          //throws invalid argument error
这是linux独有的特性,让我相信这与编码有关。我听说过pygame。如果将来的unicode_文本被导入,颜色会中断,但事实并非如此。我使用的是python 2.7,pygame 1.9.1


我试图直接传递的任何字符串似乎都可以正常工作。

有可能
color
不是
str
,而是
unicode
对象。试一试

print pygame.Color(str(color))
您可以通过打印
颜色
对象的
类型
对其进行调试:

print type(color)

这看起来确实是个问题,有什么原因可以解释为什么我的SafeConfigParser工作得很好,之前返回了一个字符串,但突然开始给我一个Unicode对象?这只是一个猜测,但可能与您已经建议的编码有关。见这个问题: