Python只有在满足条件时才替换它

时间:2017-03-10 19:29:24

标签: python

我正在尝试搜索jsp文件,查看它是否包含某个标记,如果标记存在于同一行,则替换同一行上的属性。

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

我正在尝试查看该行是否包含<c:out,如果有,我需要更改&#34;属性&#34;属于&#34;值&#34;,只有在那一行,我不想改变所有的&#34;属性&#34;整个文件中的属性。

目前我所拥有的是:

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是文件中的当前行。欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

我看不到你在哪里写输出。除非您写出这些更改,否则文件不会更改。 c 只是您的内部副本。

您是否跟踪 c 是否按预期更改?你是用小文件试过的吗?