我正在尝试将此代码转换为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)”时出现错误
答案 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())
。