arr = [(line.rstrip('\n').split(';')) for line in open('C:/Config_Changer.csv')]
import sys
import fileinput
for i, line in enumerate(fileinput.input('C:/1.cfg', inplace = 1)):
sys.stdout.write(line.replace(arr[0][0], arr[0][1]))
嘿所有,
我写了上面的行,所以它工作正常,但它只替换ary [0] [0],所以我想循环它,如下所示,所以首先需要循环才能循环。任何人都可以帮助我循环命令我应该在哪里完全放置循环???
sys.stdout.write(line.replace(arr[a][0], arr[a][1]))
答案 0 :(得分:3)
所以你想要的是将arr
中的所有替换应用到line
:(与aix的答案不同,这个避免显式索引)
for i, line in enumerate(fileinput.input('C:/1.cfg', inplace = 1)):
for f,t in arr:
line = line.replace(f, t)
sys.stdout.write(line)
答案 1 :(得分:0)
如果我正确理解您的要求:
for i, line in enumerate(fileinput.input('C:/1.cfg', inplace = 1)):
for j in xrange(len(arr)):
line = line.replace(arr[j][0], arr[j][1])
sys.stdout.write(line)
或 - 或许更多Python -
for i, line in enumerate(fileinput.input('C:/1.cfg', inplace = 1)):
for repl in arr:
line = line.replace(repl[0], repl[1])
sys.stdout.write(line)