如何将字符串转换为int?

时间:2012-07-18 20:24:33

标签: python integer

我正在尝试将此代码转换为prodname变量为int值:

def prod_check(dirname):
    prodname_to_prodnum = {}
    fid2 = open('sample.txt','r')
    line = fid2.readline()
    line = line.strip()
    pline = line.split(',')
    prodname = (pline[0])[1:-1]
    prodnum = prodname
    prodname_to_prodnum[prodname] = prodnum
    line = fid2.readline()
    fid2.close()

但是当我使用“int(prodname)”时出现错误

2 个答案:

答案 0 :(得分:2)

尝试使用此代替prodnum = prodname

try:
  prodnum = int(prodname)
except ValueError:
  prodnum = None
  print('prodname = ',prodname)

答案 1 :(得分:2)

Python中的列表是基于0的,而不是基于1的。您已使用split将该行拆分为字段,因此您应使用prodnum = int(pline[0])获取第一个字段。

编辑:我希望人们可以使用复制/粘贴将他们的代码放入问题中,拼写错误会产生重大影响。

我不知道为什么你要删除数字字段中的第一个和最后一个字符,也许是因为你需要从中删除空格?如果是,请尝试使用prodnum = int(pline[0].strip())

相关问题