python在txt文件查找成功,替换无效
今天楼主在写爬虫数据的时候,虽然数据都爬取成功了,但是使用两次替换,结果是只有第二次有效,话不多说,直接上代码。
f1 = open('D:\\Wuhan_PID_file\\pid_spider\\Information_Spider.txt','r',encoding='utf-8')
content = f1.read()
print(content)
f1.close()
t1 = content.replace('[{"Rname":','[],{"Rname":')
with open('D:\\Wuhan_PID_file\\pid_spider\\Information_Spider.txt','w',encoding='utf-8')as f2:
f2.write(t1)
t2 = content.replace(',{"Rname"','],{"Rname"')
with open('D:\\Wuhan_PID_file\\pid_spider\\Information_Spider.txt','w',encoding='utf-8')as f3:
f3.write(t2)
楼主是想将文件中两种不同格式的Rname调整一下,结果这样的代码让我无法得到正确结果,在查阅资料与使用print函数下,才解决问题。
原来是因为两次都是以content为基础进行改动,而写入的方式都是‘w’,楼主是个小白,没有注意细节,也算是为自己的粗心买单,虽然代价比较大。
下面给出正确的代码。
f1 = open('D:\\Wuhan_PID_file\\pid_spider\\Information_Spider.txt', 'r', encoding='utf-8')
content = f1.read()
print(content)
f1.close()
t2 = content.replace(',{"Rname"', '],{"Rname"')
with open('D:\\Wuhan_PID_file\\pid_spider\\Information_Spider.txt', 'w', encoding='utf-8')as f3:
f3.write(t2)
t1 = t2.replace('[{"Rname":', '[],{"Rname":')
with open('D:\\Wuhan_PID_file\\pid_spider\\Information_Spider.txt', 'w', encoding='utf-8')as f2:
f2.write(t1)
这样一来,结果就正确了。