【问题标题】:Getting invalid literal for int() with base 10. while converting str into int获取以 10 为底的 int() 的无效文字。同时将 str 转换为 int
【发布时间】:2021-09-10 02:14:47
【问题描述】:

我正在尝试将字符串转换为 int,但遇到了一些困难。如何克服这个?

random_image=['12.jpg']
s1=str(random_image)[1:-1].replace(".jpg", "")
s2=int(s1)

【问题讨论】:

  • 将第二行分成多个步骤,并打印每个步骤的结果。这应该可以让您清楚地知道哪里出了问题,或者至少为您提供更集中的问题的输入。

标签: python string integer


【解决方案1】:
s1=str(random_image)[1:-1].replace("'",'').strip(".jpg")
s2=int(s1)

你可以试试这个

【讨论】:

  • 它不工作;它给出了无效的语法错误
  • @acousticpython 现在检查一下,缺少括号
【解决方案2】:

str(random_image) 计算结果为 字符串 ['12.jpg'],因此您需要在替换 .jpg 之前从前后剥离 两个 字符。为什么要显式调用str

【讨论】:

    【解决方案3】:

    您首先需要从列表中提取文件名。这很容易,因为它是第一个也是唯一的项目。然后你可以切掉扩展名的最后 4 个字符并转换为整数:

    random_image = ['12.jpg']
    s1=int(random_image[0][:-4])
    print(s1)
    

    输出

    12
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-09
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-09
      • 2020-01-04
      相关资源
      最近更新 更多