【发布时间】:2011-05-06 21:28:51
【问题描述】:
我正在使用 Python 在嵌入式系统的内存中的特定位置(32 位地址)编写一些操作脚本。
当我将这些地址与字符串、整数和十六进制值相互转换时,似乎会出现一个尾随 L。这可能是一个真正的痛苦,例如以下看似无害的代码将无法工作:
int(hex(4220963601))
或者这个:
int('0xfb96cb11L',16)
有谁知道如何避免这种情况?
到目前为止,我已经想出了这种方法来去除字符串的尾随 L,但它似乎不是很优雅:
if longNum[-1] == "L":
longNum = longNum[:-1]
【问题讨论】:
-
您的第一个示例即使没有“L”也无法工作,因为
int不知道如何处理“0x”前缀。你想完成什么?
标签: python