Python:读取行并修改它(如果需要)

时间:2018-02-20 17:08:57

标签: python formatting overwrite file-writing

假设我有一个这样的文件Example.txt

alpha_1 = 10

%alpha_2 = 20

现在,我想要一个执行这些任务的python脚本:

  1. 如果包含alpha_1参数的行未注释(%符号),则要重写添加%的行,就像使用alpha_2一样

  2. 在1.独立于行顺序执行任务

  3. 保持文件的其余部分Example.txt

  4. 不受影响

    我写的文件是:

    with open('Example.txt', 'r+') as config:
          while 1:
            line = config.readline()
            if not line:
               break
    
        # remove line returns
        line = line.strip('\r\n')
        # make sure it has useful data
        if (not "=" in line) or (line[0] == '%'):
          continue
        # split across equal sign
        line = line.split("=",1)
        this_param = line[0].strip()
        this_value = line[1].strip()
    
        for case in switch(this_param):    
    
           if case("alpha1"):
              string = ('% alpha1 =', this_value )
              s = str(string)
              config.write(s)
    

    到目前为止,输出与Example.txt相同,并且原始行(%alpha1 =, 10)下方的行alpha1 = 10更远。

    谢谢大家

1 个答案:

答案 0 :(得分:0)

一段时间后我找到了解决方案。一切都可以轻松完成,将所有内容写在另一个文件上,并在最后替换它。

{{1}}