【问题标题】:ValueError: invalid literal for int() with base 16: '' [closed]ValueError:以 16 为基数的 int() 的无效文字:'' [关闭]
【发布时间】:2019-02-16 23:32:53
【问题描述】:

我尝试运行以下脚本但遇到此错误。

array.append([int(h[i:i + 2], 16) for i in (0, 2, 4)])

我的代码有什么问题?

【问题讨论】:

  • 显然您正在尝试解析一个空字符串。 h 的值是多少?
  • 另外,array 实际上是list
  • @MosheSlavin 这与这个问题有什么关系?
  • @MosheSlavin 你在说什么非字符串?
  • 也许你能显示你的变量'h'

标签: python


【解决方案1】:

您正在尝试将字符串解析为十六进制数字,其中每个字符串是来自h 的两个字符。这意味着您的字符串 h 需要足够长以包含每个子字符串的内容。

例如,如果h'1234',那么

h[0:2] == '12'
h[2:4] == '34'
h[4:6] == ''

您的代码可以将'12''34' 解析为十六进制数字,但无法解析'',因此会引发异常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-22
    • 2017-12-06
    • 2019-07-19
    • 2013-08-04
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多