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

Python 2.7 使用python重命名文本文件中的特定行,python-2.7,Python 2.7,这是使用另一个文本文件重命名文本文件中特定单词(“opdut_decoded”)的示例代码。这对我来说很好。但正如我在下面的“输入文件:”中所说,无论“opdut_decoded”在哪里,我都需要重命名同一行中的同一个单词(0a.ac3)。请您指导我 文本文件中的新名称: 0a 1b 2c 三维 我有一个文本文件,下面有几行 import re rep_file = open('in2','r') new_words = [] for line in re

这是使用另一个文本文件重命名文本文件中特定单词(“opdut_decoded”)的示例代码。这对我来说很好。但正如我在下面的“输入文件:”中所说,无论“opdut_decoded”在哪里,我都需要重命名同一行中的同一个单词(0a.ac3)。请您指导我

文本文件中的新名称:

0a

1b

2c

三维

我有一个文本文件,下面有几行

    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.wav”替换上面给定的输入行

-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

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

-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
有了它,您应该可以获得所需的输出

-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

如果输入文本文件中有两个名称“opdut_decoded”和“op_dec_dmx”,你能帮我吗?如何用上面的代码用新名称重命名。@lotus我假设其中一个也是.wav。编辑
inline=re.sub('opdut_decoded\.wav',new_words[i],inline)
,方法是添加由管道分隔的新模式。例如:
inline=re.sub('opdut_decoded\.wav | op_dec_dmx\.wav',new_words[i],inline)
希望这就是你想要知道的。谢谢。这很好。
import re

new_words = []

rep_file = open('in2.txt','r')

for line in rep_file:
    line = line.strip()
    new_words.append(line + '.ec3')

infile = open('in.txt','r')

i = 0
out = open('out.txt','w')

for inline in infile:
    inline = re.sub('opdut_decoded\.wav',new_words[i],inline)
    out.write(inline)
    i += 1

out.close()