有没有一种方法可以使python文件中的每一行浮动,然后将这些行存储为变量?

时间:2020-03-27 01:20:07

标签: python

这是我遇到的问题。我有一个仅包含数字的文件,想将每一行转换为浮点数,然后将每一行读取并存储为变量,以便以后可以使用它们进行数学运算。

这是我当前的代码:

file = open("testfile.txt", "r")
var1 = file.readline(1)
var2 =  file.readline(2)
var3 =  file.readline(3)
var4 =  file.readline(4)
var5 = float(var1) + float(var2) + float(var3) + float(var4)
print(var5)

每次我尝试运行它时,它都会返回错误“无法将字符串转换为浮点数”。

任何和所有建议将不胜感激! 谢谢,祝你有美好的一天!

编辑

根据要求,这是我使用的测试文件:

1
6
20
39

2 个答案:

答案 0 :(得分:3)

编辑:如@Jon Clements所述。
您不想为int[] num = { 7, 2, 6, 4, 12, 6, 1, 8, 49, 3 }; int lowest = num[0]; int highest = num[0]; // already used [0] so start at [1] for (int i = 1; i < num.length; i++) { if (num[i] < lowest) { lowest = num[i]; } // also need two comparisons and not being lowest does not mean it is the highest if (num[i] > highest) { highest = num[i]; } } 方法传递数字,因为它只会读取那么多字节和换行符。

此外,除非您知道行数,否则可能要使用readline之类的东西来存储浮点数,如下所示:

list

答案 1 :(得分:0)

readline()函数的第一个arg是要读取的最大字符,所以这是我固定代码的方式:

file = open("testfile.txt", "r")
var1 = file.readline().strip()
var2 =  file.readline().strip()
var3 =  file.readline().strip()
var4 =  file.readline().strip()
var5 = float(var1) + float(var2) + float(var3) + float(var4)
print(var5)

注意:strip方法是从行中删除\ n。