python - int() Python 的无效文字

标签 python string int

我在 Python 中得到了 int() 的无效文字,但这真的很奇怪,因为文字是“1”。当然,如果我在 IPython 中尝试 int("1") 或 int(u"1") 我没有错误,但在我自己的代码中,相同的指令会出错。

        try:
            VimsLog().debug("val = %s" % val)
            int(val)
        except Exception, e:
            VimsLog().debug(e)
            VimsLog().debug("I am died")
            return val

在哪里

e=invalid literal for int(): "1"

出于兼容性原因,我使用的是 Python 2.4

最佳答案

repr(val) gives u'"1"'

这意味着您不是在转换 1,而是在尝试转换 "1"(即字符串 quote, 1, quote)。这不是有效的整数文字。

去除引号:

int(val.strip('"'))

关于python - int() Python 的无效文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19045770/

相关文章:

python - 通过 Python 的 Matplotlib 将 3 个条堆叠在一起

random - OCaml : exception Invalid_argument ("Random.int")? 的解决方法是什么

c++ - 在 C++ 中的字符串之间添加一个字符

c++ - 如何忽略空格和标点符号?

Java字符串创建和字符串池

java - 在 Java 中将十进制数转换为十六进制字符串失败

java - 转换字符(强制转换与 .getNumericValue)

python - 将文件上传到 ftp 服务器时出错

python - 为什么 python gevent 比 serial 慢?

python - 如何使用 matplotlib 在日期时间轴上绘制矩形?