将十六进制值存储为整数

我目前正在使用 python docx,它需要十六进制值来格式化字体颜色,例如


font.color.rgb = RGBColor(0x70, 0xad, 0x47)

但是,我需要将争论存储RGBColor在变量中,确切地说是字典,但是当您在变量中存储十六进制值时,它会将其格式化为 int 。例子:


code = (0x70, 0xad, 0x47)


print(code)

返回:(112, 173, 71)


并使用该hex()函数存储它会将其格式化为str.


code = (hex(0x70), hex(0xad), hex(0x47))


print(code)

返回:('0x70', '0xad', '0x47')


并且RGBColor运算符不会接受字符串,并且我无法将这些字符串重新格式化回 anint因为我收到错误ValueError: invalid literal for int() with base 10: '0x70'


在夏季,如何存储十六进制值(例如0x70, 0xad, 0x47整数),然后将其输入操作RGBColor符?


哆啦的时光机
浏览 1577回答 1
1回答

SMILET

font.color.rgb = RGBColor(112, 173, 71)产生与以下相同的结果:font.color.rgb = RGBColor(0x70, 0xad, 0x47)该0x7f格式只是int值的替代 Python 文字形式。只有一种int,只有多种方式将相同的值表达为文字。请注意,您还可以使用:font.color.rgb = RGBColor.from_string("70ad47")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python