python 十六进制值作为输入整数
python hex value as input integers
我正在尝试使用十六进制地址调用 python 脚本,然后向其添加一些偏移量:
import argparse
def main(number):
print(number+1234)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument("--input",type=int)
main(number=parser.parse_args().input)
不幸的是,我有一个我似乎无法修复的类型不匹配问题:
$ python hex.py --input=0x000000ab
usage: hex.py [-h] [--input INPUT]
hex.py: error: argument --input: invalid int value: '0x000000ab'
我一定是遗漏了一些直接的解决方案。
这是常见问题解答“字符串不是数字”的变体。你必须转换它,可能是在跳过 0x
前缀之后。
print(int(number.replace("0x", ""),16)+1234)
我正在尝试使用十六进制地址调用 python 脚本,然后向其添加一些偏移量:
import argparse
def main(number):
print(number+1234)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument("--input",type=int)
main(number=parser.parse_args().input)
不幸的是,我有一个我似乎无法修复的类型不匹配问题:
$ python hex.py --input=0x000000ab
usage: hex.py [-h] [--input INPUT]
hex.py: error: argument --input: invalid int value: '0x000000ab'
我一定是遗漏了一些直接的解决方案。
这是常见问题解答“字符串不是数字”的变体。你必须转换它,可能是在跳过 0x
前缀之后。
print(int(number.replace("0x", ""),16)+1234)