Python 将十六进制值存储为整数
我目前正在使用PythonDocx,例如,它需要十六进制值来格式化字体颜色Python 将十六进制值存储为整数,python,hex,python-docx,Python,Hex,Python Docx,我目前正在使用PythonDocx,例如,它需要十六进制值来格式化字体颜色 font.color.rgb = RGBColor(0x70, 0xad, 0x47) 但是,我需要将RGBColor的参数存储在变量中,确切地说是一个字典。但是,当您在变量中存储十六进制值时,它会将其格式化为int。例如: code = (0x70, 0xad, 0x47) print(code) 返回:(11217371) 并使用hex()函数将其存储为str code = (hex(0x70), hex(0x
font.color.rgb = RGBColor(0x70, 0xad, 0x47)
但是,我需要将RGBColor
的参数存储在变量中,确切地说是一个字典。但是,当您在变量中存储十六进制值时,它会将其格式化为int。例如:
code = (0x70, 0xad, 0x47)
print(code)
返回:(11217371)
并使用hex()
函数将其存储为str
code = (hex(0x70), hex(0xad), hex(0x47))
print(code)
返回:('0x70','0xad','0x47')
而RGBColor
运算符将不接受字符串,并且我无法将这些字符串重新格式化为int
,因为我得到了错误ValueError:int()的无效文本,以10为基数:“0x70”
总之,如何将诸如0x70、0xad、0x47等十六进制值存储为整数,然后将其输入RGBColor
运算器
font.color.rgb = RGBColor(112, 173, 71)
产生与以下相同的结果:
font.color.rgb = RGBColor(0x70, 0xad, 0x47)
0x7f
格式只是int
值的另一种Python文本形式。只有一种int
,只有多种方式可以将相同的值表示为文字。有关这些选项的完整详细信息,请参阅关于数字文本的Python文档:
请注意,您还可以使用:
font.color.rgb = RGBColor.from_string("70ad47")
如果您觉得方便的话。
产生与以下相同的结果:
font.color.rgb = RGBColor(0x70, 0xad, 0x47)
0x7f
格式只是int
值的另一种Python文本形式。只有一种int
,只有多种方式可以将相同的值表示为文字。有关这些选项的完整详细信息,请参阅关于数字文本的Python文档:
请注意,您还可以使用:
font.color.rgb = RGBColor.from_string("70ad47")
如果您觉得方便的话。
十六进制值只是重新格式化的整数。然后您只需要RGBColor(*代码)。十六进制值只是重新格式化的整数。然后您只需要RGBColor(*代码)。