如何将str转换为int?

2024-05-08 11:00:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使此代码将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)”时,我得到了一个错误


Tags: tosample代码readlinedefchecklineprod
2条回答

请尝试此操作而不是prodnum = prodname

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

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

编辑:我希望人们能用复制/粘贴的方式把他们的代码放在问题中,打字错误会造成一切不同。在

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

相关问题 更多 >