TypeError:int()参数必须是字符串或数字,而不是'list'请

时间:2014-05-15 13:05:01

标签: python python-3.x

我正在制作一个代码,用于重新计算食谱中的份量,但我会继续这个

  

错误:TypeError:int()参数必须是字符串或数字,而不是' list'

这是我的代码:

testfile = open(fname, 'r+')
new_ingrediants = input("How Many People Do You Want To Recalculate For?")
new_ingrediants = int(new_ingrediants)
ingrediant1 = open(fname).readlines(3)
ingrediant1 = int(ingrediant1)
new_ingrediant1 = (ingrediant1*new_ingrediants)
print (new_ingrediant1)

2 个答案:

答案 0 :(得分:1)

readlines(3)从文件中读取3行并返回一个列表,因此您将列表传递给int。您希望从fname读取哪些内容可以转换为int?回答这个问题,你可以修改你的代码。

答案 1 :(得分:0)

我同意chepner's answer。您需要更好地指定要从文件中读取的内容。 无论如何,要将列表转换为整数元素,您可以使用numpy的整数格式。例如:

import numpy as np
l = ["1", "2", "5"]
np.int32(l)

但是,请确保您的输入文件包含什么。空行会引发异常。