更改ASCII文件中的值并将其另存为具有不同名称的Python

2024-09-29 06:27:44 发布

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

我有一个扩展名为.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])

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


Tags: 文件数据inimportautodatalineascii
1条回答
网友
1楼 · 发布于 2024-09-29 06:27:44

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

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

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)

然后你只需要写一个函数来替换字符串

相关问题 更多 >