lstrip为十六进制数,怎么样?

时间:2014-12-11 15:11:43

标签: python

我一直在使用Python将数字转换为十六进制格式,并使用'Ox'删除每个数字的str.lstrip前缀;类似的东西:

>>> data='0'
>>> data
'0'
>>> data=str(hex(int(data)))
>>> data
'0x0'
>>> data=data.lstrip("0x")
>>> data
''

我在这里遇到的问题是,在应用'0'方法后,它会打印''而不是打印lstrip。我的问题是如何才能打印'0',而不是空字符串''?我需要str类型,因为我会将这些数据存储在一个文件中。

1 个答案:

答案 0 :(得分:5)

如果您知道0x前缀,则可以使用切片删除它:

>>> "0xdeadbeef"[2:]
'deadbeef'

或者,您可以使用字符串格式化运算符而不是hex()

>>> "%x" % 3735928559
'deadbeef'

或使用format()

>>> format(3735928559, "x")
'deadbeef'