python循环数组

时间:2011-12-16 11:59:57

标签: python arrays loops

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]))

2 个答案:

答案 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)