有没有办法在python中浮动文件中的每一行,然后将这些行存储为变量?

2024-06-17 11:57:28 发布

您现在位置: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

Tags: 文件函数代码readline数字数学openfloat
2条回答

编辑:如@Jon Clements所述。
您不想为readline方法传入数字,因为它只读取那么多字节和换行符

另外,除非您知道行数,否则您可能希望使用类似list的东西来存储浮点数,如下所示:

with open('testfile.txt') as f:
    f_list = [float(s) for s in f]

readline()函数的第一个参数是要读取的最大字符数,下面是我修复代码的方法:

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)

注意:剥离方法是从行中删除\n

相关问题 更多 >