更改ASCII文件中的值并将其另存为其他名称-Python

更改ASCII文件中的值并将其另存为其他名称-Python,python,ascii,Python,Ascii,我有一个扩展名为.dat的ASCII文件。该文件包含如下所示的数据 MPOL3_VPROFILE { ID="mpvp_1" Cycle="(720)[deg]" Lift="(9)[mm]" Period="(240)[deg]" Phase="(0)[deg]" TimingHeight="(1.0)[mm]" RampTypeO="Const Velo" RampHO="(0.3)[mm]" RampVO="(0.00625)[mm/deg]" RampTypeC

我有一个扩展名为.dat的ASCII文件。该文件包含如下所示的数据

MPOL3_VPROFILE
{
  ID="mpvp_1"  Cycle="(720)[deg]"  Lift="(9)[mm]"  Period="(240)[deg]"
  Phase="(0)[deg]"  TimingHeight="(1.0)[mm]"  RampTypeO="Const Velo"
  RampHO="(0.3)[mm]"  RampVO="(0.00625)[mm/deg]"  RampTypeC="auto"
  RampHC="(auto)[mm]"  RampVC="(auto)[mm/deg]"  bO="0.7"  cO="0.6"  dO="1.0"
  eO="1.5"  bC="auto"  cC="auto"  dC="auto"  eC="auto"  th1O="(14)[deg]"
现在我想用Python读取这个文件,然后将RampHO=“(0.3)[mm]”的值更改为RampHO=“(0.2)[mm]”,并将其保存为一个新的.dat文件。我该怎么做

目前我能够使用下面的代码成功地读取文件和行

import sys
import re
import shutil
import os
import glob
import argparse
import copy
import fileinput

rampOpen = 'RampHO='
file = open('flatFollower_GenCam.dat','r')

#data = file.readlines()

#print (data)


for line in file:
    line.strip().split('/n')
    if rampOpen in line:
        print (line[4:22])

但我现在被困在如何更改浮点值并将其另存为其他名称。

首先,您应该将代码发布在文本中,而不是单独的图像中。只需将每行缩进四个空格,即可将其格式化为代码

您只需逐行读取文件,更改要更改的行,然后写入输出

with open(infile, 'r') as f_in, open(outfile, 'w') as f_out:
    for line in f_in:
        output_line = edit_line(line)
        f_out.write(output_line)

然后,您只需编写一个函数来替换字符串。

为什么不将文本作为文本发布,而将其作为图片发布?究竟为什么要插入文本图片?发布文本!现在添加了一个文本而不是图像…如果您没有绑定到python,这看起来像是sed的工作。谢谢!我给出了缩进,并将其转换为代码。