You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现txt文件指定十六进制值转十进制的代码问题排查

问题修复方案

原代码错误点

  • 错误将print()函数的返回值(固定为None)赋值给sd变量,后续调用int(sd,16)必然抛出类型错误
  • 提取的十六进制字符串被存入列表id,直接对列表做进制转换不符合int()方法的入参要求
  • 硬编码切片ln[9:13]兼容性差,若行内格式变化会提取到错误内容

修复后代码

with open("test.txt","r") as fi:
    for ln in fi:
        if ln.startswith("(10"):
            # 按空格分割行内容,取第三个元素就是目标十六进制值,再去掉末尾括号
            hex_str = ln.split()[3].rstrip(")")
            dec = int(hex_str, 16)
            print(dec)
            # 仅需要第一行结果的话,拿到就可以直接退出循环
            break

运行结果

输出值为29643,符合预期要求。

内容的提问来源于stack exchange,提问作者Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 04:45:04