将浮点数放在 f.write 中 python

Put the float number in f.write in python

我有一个文本文件(100 行和 2 列),例如:

1 2
2 3 

我想将每一行更改为文本文件,如下所示:

x1 1 1*2
x2 2  4

x1 2 4
x2 3 6

我使用这段代码来做到这一点:

with open("data.txt", "r") as msg:
    data = msg.readlines()

output = 0
for line in data:
    with open(str(output)+"_parameter.txt", "w") as msg:
        for i, char in enumerate(line.strip().split()):
            msg.write("x%s %s %s*2\n" % (str(i + 1), char, char))
output += 1

效果很好。但问题是,在创建的txt文件中,数字保存为

x1 1 1*2 
x2 2 2*2 

x1 2 2*2 
x2 3 3*2 

但是我想保存浮点数而不是 (2*2),我想要文本文件中的 (4)。不是字符串。 你能帮我解决这个问题吗?谢谢

with open("data.txt", "r") as msg:
    data = msg.readlines()

output = 0
for line in data:
    with open(str(output)+"_parameter.txt", "w") as msg:
        for i, char in enumerate(line.strip().split()):
            if i == 0:
                msg.write("x%s %s %s*2\n" % (str(i + 1), char, char))
            else:
                msg.write("x%s %s %s\n" % (str(i + 1), char, str(int(char)*2)))
output += 1

你好:)。在这里,您对第一行除外的每个第三列 x*y 进行计算。