【发布时间】:2021-01-02 05:01:25
【问题描述】:
我想用变量的值替换文件中的特定字符串:
在我的文件中有这两行:
<CtrlSum>10</CtrlSum>
<sum>45</sum>
我想搜索值“10”并将其替换为“45”。
我尝试过类似的方法:
with open(path,'r+') as f:
lst=f.readlines()
for j in lst:
if'sum' in j:
Somme = j.split('>')[1].split('<')[0]
print(Somme)
for i in lst:
if 'CtrlSum' in i:
Ctrl = i.split('>')[1].split('<')[0]
print (Ctrl)
f.writelines(f.replace(Ctrl,Somme))
但我有这个错误:
f.writelines(f.replace(Ctrl,Somme)) AttributeError: '_io.TextIOWrapper' 对象没有属性 'replace'
出了什么问题,我该如何解决?
【问题讨论】:
-
f是一个文件。你只能在一个字符串上调用.replace()(即.read()的结果) -
通常我创建另一个文件,将修改后的内容复制到其中,然后重命名以覆盖原始文件
-
你想做什么?用什么替换什么字符串? - 您打算通过这些拆分实现什么目标?
-
我想用 "Sum" @DevCl9 的值替换 "CtrlSum" 上 之间的值
-
您是在问如何解析 XML 或 HTML 文件?