如何修复以 16 为底数的 int() 的无效文字:''?

How to fix invalid literal for int() with base 16: ''?

我有一些十六进制字符串 (splited_colors),我想将它们转换成颜色。 splited_colors 是一个长度为 221228 的列表,其第一行类似于 splited_colors[1] = [['ab0232'],['0013aa'],['ac0102']]。此外,我还有另一个字符串,如“000000”。某些行已转换,但其他行未转换。我检查过,所有的十六进制字符串都是相同的,我没有任何不寻常的十六进制字符串。这个错误指的是什么?

RGB_colors_1 = []
for j in range (len(splited_colors)):        
    RGB_1 = tuple(int(splited_colors[j][0][k:k+2], 16) for k in (0, 2, 4))
    RGB_colors_1.append (RGB_1)

查看此 link 是否对您的问题有所帮助:。如果您有一个空字符串或字母表中 f 之后的任何字母,则可以调用此异常。

要找出导致问题的字符串,我会在您的循环中添加类似 print(j, RGB_1) 的内容。这使您可以找到导致问题的十六进制索引。