替换lin的最后一个值

2024-05-18 23:43:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我想替换这行的最后一个值 V1 N0005 0 0.1通过不断变化的值,也就是说,我把这行的最后一个值作为变量v1val,并使用while循环增加它。但我无法取代它。 请帮助我用命令来替换值 我的代码片段是

v1val+=0.1
f=open("Draft2.net",'r+')
for x in f:
    if x.startswith('V1'):
        V1=float(x.split(' ')[-1])
        x.replace(float(V1[-1]),float(v1val))
f.close()

该值与while循环中的另一个代码段一起递增。你知道吗


Tags: 代码in命令fornetifopenfloat
2条回答

替换此

x.replace(float(V1[-1]),float(v1val))

用这个

x = x.replace(float(V1[-1]),float(v1val))

string.replace()不修改字符串(实际上,python字符串是不可变的)。相反,它返回一个新的字符串,然后可以将该字符串赋给一个变量。你知道吗

您还需要使用f.write()将新版本的x写回文件。你知道吗

下面是替换最后一个值的一种方法(我以0.2为例):

In [11]: s = "V1 N0005 0 0.1"

In [12]: " ".join(s.split()[:-1] + ["0.2"])
Out[12]: 'V1 N0005 0 0.2'

相关问题 更多 >

    热门问题