使用python重命名文本文件中的特定行

时间:2016-03-02 05:57:43

标签: python-2.7

    import re    
    rep_file = open('in2','r')
    new_words = []
    for line in rep_file:
        line = line.strip()
        new_words.append(line + '.ec3')

    infile = open('in.txt','r')    
    data = infile.read()    
    matches = re.findall(r'(opdut_decoded\.wav)',data)    
    i = 0    
    for m in matches:   

        data = re.sub(m,new_words[i],data,1)
        i += 1

    out = open('out.txt','w')  
    out.write(data)    
    out.close()

这是使用另一个文本文件在文本文件中重命名特定单词(" opdut_decoded")的示例代码。这对我来说很好。但正如我在"输入文件中所述: "下面我需要在" opdut_decoded"的任何地方重命名相同的单词(0a.ac3)。是的。请你指导我。

文字文件中的新名称:

0A

图1b

2C

3D

我有一个包含以下行的文本文件

-c0 -k2 -w1 -x1.0 -y1.0 -ia8.ac3 -opdut_decoded.wav,opdut_decoded.wav,opdut_decoded.wav
-c0 -k2 -w1 -x1.0 -y1.0 -ia9.ac3 -opdut_decoded.wav,opdut_decoded.wav,opdut_decoded.wav
-c0 -k2 -w1 -x1.0 -y1.0 -ia18.ac3 -opdut_decoded.wav
-c0 -k2 -w1 -x1.0 -y1.0 -iLFE1.ac3 -opdut_decoded.wav

我想用" -opdut_decoded.wav"替换上面给定的输入行。在这样的每一行

-c0 -k2 -w1 -x1.0 -y1.0 -ia8.ac3 -0a.ac3,0a.ac3,0a.ac3
-c0 -k2 -w1 -x1.0 -y1.0 -ia9.ac3 -1b.ac3,1b.ac3,1b.ac3
-c0 -k2 -w1 -x1.0 -y1.0 -ia18.ac3 -2c.ac3
-c0 -k2 -w1 -x1.0 -y1.0 -iLFE1.ac3 -3d.ac3

1 个答案:

答案 0 :(得分:1)

您的代码的前半部分很好,但是当您阅读in.txt文件时,您应该逐行阅读它,然后进行替换。

var today = new Date();  

  $(' .strathidden').datetimepicker({
     minDate:today
  });

这样你应该得到你需要的输出

-c0 -k2 -w1 -x1.0 -y1.0 -ia8.ac3 -0a.ec3,0a.ec3,0a.ec3

-c0 -k2 -w1 -x1.0 -y1.0 -ia9.ac3 -1b.ec3,1b.ec3,1b.ec3

-c0 -k2 -w1 -x1.0 -y1.0 -ia18.ac3 -2c.ec3

-c0 -k2 -w1 -x1.0 -y1.0 -iLFE1.ac3 -3d.ec3