我的查询用于以下示例:
c0b0="FF FF FF FF FF FF FF FF FF 7F"
print c0b0
for ch in c0b0:
a=str(ch)
print "{0} {1}".format(ch,type(ch))
print hex(int(ch,16))
如果您看到输出:
sh-4.3$ python main.py
FF FF FF FF FF FF FF FF FF 7F
F <type 'str'>
0xf
F <type 'str'>
0xf
<type 'str'>
Traceback (most recent call last):
File "main.py", line 8, in <module>
print hex(int(ch,16))
ValueError: invalid literal for int() with base 16: ''
看到这一点,我们当然可以说ch不是元组而是字符串。但仍然int(ch,16)认为ch是无效的文本。你知道吗
有人能指出我遗漏的地方,以及它将如何处理int(,16)吗?你知道吗
你应该跳过
space
。对于这个space
,您得到了这个错误。你知道吗谢谢大家给我指出空间,是的,它使用了以下代码:
当您执行
for ch in c0b0
操作时,您是在初始字符串的各个字符上进行迭代,而不是在以空格分隔的十六进制数字对上进行迭代。您的代码在第一个空格处失败。你知道吗我认为您需要
for ch in c0b0.split()
,它首先将原始字符串分割成一个字符串列表(按空格分割),然后再遍历该列表。你知道吗相关问题 更多 >
编程相关推荐