我有三個列表:filePath,textToFind,textToReplace。我需要在給定的filePath中打開每個文件,找到一行並替換一行。列表總是按順序排列,並且長度始終相同。下面的代碼:如何在Python中多次查找並替換行只有一次
for i, path in enumerate(filePath):
for line in fileinput.input(path, inplace=1):
sys.stdout.write(line.replace(textToFind[i], textToReplace[i]))
的問題是可以的textToFind在文件中可以找到無數次,所以這段代碼替換它與textToReplace當前索引位置找到的文本的所有匹配。我需要它在第一次找到該項目時中斷,然後繼續下一次迭代。我怎樣才能做到這一點?
你的意思是說,你想在'textToFind中'和''的textToFind相應的索引條目filePath'的'在每個索引處替換文件?或者,在'filePath'中存在的所有文件中'textToFind'的所有條目都含有'textToFind'? –
第一個。我想用textToFind和textToReplace中的相應索引替換filePath的每個索引。 filePath和textToFind並不總是唯一的,但textToReplace總是唯一的。 – pgtips