2
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()
這是使用其他文本文件。這個用於me.But如我在所述工作精細在一個文本文件重命名爲一個特定的詞(「opdut_decoded」)的示例代碼重命名在一個文本文件的特定行「輸入文件:」下面我需要在同一行中重命名同一個字(0a.ac3),無論「opdut_decoded」在那裏。請給我指導。使用python
在文本文件中的新名稱:
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
謝謝。它工作正常 – lotus
如果我在輸入文本文件中每行有2個名稱爲「opdut_decoded」和「op_dec_dmx」,您能幫助我嗎?我可以用上面的代碼重新命名爲新名稱。 – lotus
@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)'希望這是你的意思。 – padme