我一直在使用Python将数字转换为十六进制格式,并使用'Ox'
删除每个数字的str.lstrip
前缀;类似的东西:
>>> data='0'
>>> data
'0'
>>> data=str(hex(int(data)))
>>> data
'0x0'
>>> data=data.lstrip("0x")
>>> data
''
我在这里遇到的问题是,在应用'0'
方法后,它会打印''
而不是打印lstrip
。我的问题是如何才能打印'0'
,而不是空字符串''
?我需要str
类型,因为我会将这些数据存储在一个文件中。
答案 0 :(得分:5)
如果您知道0x
前缀,则可以使用切片删除它:
>>> "0xdeadbeef"[2:]
'deadbeef'
或者,您可以使用字符串格式化运算符而不是hex()
:
>>> "%x" % 3735928559
'deadbeef'
或使用format()
:
>>> format(3735928559, "x")
'deadbeef'