2017-03-10 129 views
0

我試圖通過一個jsp文件進行搜索,看它是否包含某個標籤,並且如果該標籤存在於同一行上,則替換同一行上的屬性。只有Python滿足條件時才替換一條線

例如<c:out var="taskToRedirect" property="dueDate"

我想看看是否行包含<c:out,如果是的話,我需要改變「財產」屬性「價值」,只有在該行,我不想要更改整個文件中的所有「屬性」屬性。

目前我有什麼是:

f = open(filepath) 
c = f.read() 
for i in c: 
    if ("<c:out" in i): 
     c=c.replace(i,i.replace("property","value")) 
f.write(c) 
f.close() 

代碼顯得無能爲力,而沒有拋出運行時錯誤,c是一個文件的內容的字符串表示,i是在當前行文件。歡迎任何建議。

+0

'c'是文件中行的列表嗎? – Jakub

+0

'c'是文件的內容。我是文件中的一個單獨的行。 – CS2016

回答

0

我沒有看到你在哪裏寫輸出。除非您寫出這些更改,否則該文件不會更改。 c只是您的內部副本。

你跟蹤是否c按預期變化?你有沒有試過這個小文件?