2011-12-16 82 views
-4
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])) 

嘿所有,蟒環陣列

我寫上面的行,所以它工作正常,但其僅更換進制[0] [0],所以我要循環它作爲像下面,所以首先漁政需要loop.Can任何人都可以幫助我的循環命令。我應該在哪裏必須把循環完全?

sys.stdout.write(line.replace(arr[a][0], arr[a][1])) 
+0

取決於。應該成爲什麼? – 2011-12-16 12:03:38

+0

一個或我只是爲了循環 – ahmet 2011-12-16 12:06:24

+0

a = 0雖然(a <100)... – ahmet 2011-12-16 12:07:01

回答

3

所以你想要的是適用所有的都在更換arrline:(不像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) 
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) 

或 - 也許更Pythonically -

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)