_弧⑿薷脑募绞?
_ef alter(file,old_str,new_str):
?
?"""
_婊晃募械淖址?
?:param file:文件名
?:param old_str:就字符串
?:param new_str:新字符串
?:return:
?
?"""
_ile_data = ""
?
_ith open(file, "r", encoding="utf-8") as f:
?
_or line in f:
?
_f old_str in line:
?
_ine = line.replace(old_str,new_str)
?
_ile_data += line
?
_ith open(file,"w",encoding="utf-8") as f:
?
_.write(file_data)
?
_lter("file1", "09876", "python")
?
__言募谌莺鸵薷牡哪谌菪吹叫挛募薪写娲⒌姆绞?
?
?2.1 python字符串替换的方法,修改文件内容
?
_mport os
?
_ef alter(file,old_str,new_str):
?
?"""
?
_婊坏淖址吹揭桓鲂碌奈募校缓蠼募境挛募奈次募拿?
?
?:param file: 文件路径
?
?:param old_str: 需要替换的字符串
?
?:param new_str: 替换的字符串
?
?:return: None
?
?"""
?
_ith open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
?
_or line in f1:
?
_f old_str in line:
?
_ine = line.replace(old_str, new_str)
?
_2.write(line)
?
_s.remove(file)
?
_s.rename("%s.bak" % file, file)
?
_lter("file1", "python", "测试")
?
?2.2 python 使用正则表达式 替换文件内容 re.sub 方法替换
?
_mport re,os
?
_ef alter(file,old_str,new_str):
?
_ith open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
?
_or line in f1:
?
_2.write(re.sub(old_str,new_str,line))
?
_s.remove(file)
?
_s.rename("%s.bak" % file, file)
通常的做法是先将文件的所有内容读入内存,修改后再全部写回原文件。如果文件中所有数据的偏移地址都是固定的,那么可以以r+方式打开文件,将文件指针移动到要修改的数据处,写入新数据覆盖即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)