南京网站优化技术,杭州建设网通知公告栏,建筑人才网微信群,可以在线编程的网站目录
1. 对单份文件
1.1 将替换后的内容保存到新文件中
1.2 直接替换当前文件中的字符
2. 对多份文件#xff08;支持递归子目录#xff09; 1. 对单份文件
示例#xff1a;将文件中字符串“address”替换成“device.address”
1.1 将替换后的内容保存到新文件中
实现…目录
1. 对单份文件
1.1 将替换后的内容保存到新文件中
1.2 直接替换当前文件中的字符
2. 对多份文件支持递归子目录 1. 对单份文件
示例将文件中字符串“address”替换成“device.address”
1.1 将替换后的内容保存到新文件中
实现代码
#!/usr/bin/env python3
# -*- encoding: utf-8 -*-File : Replace_String_of_Files.py
Time : 2024/01/28 13:20:44
Author : Admin
Version : 1.0
Software: Visual Studio Code
import redef new_file(): f1 open(/home/old.txt,r)f2 open(/home/new.txt,w)str1 raddressstr2 rdevice.addressfor i in f1.readlines():k re.sub(str1,str2,i)f2.write(k)f1.close()f2.close()if __name__ __main__:new_file()
1.2 直接替换当前文件中的字符
代码思路设计如下
先以只读模式打开后对文件每一行进行readlines()操作并保存到新的列表中。然后随之关闭。 再以w方式进行读写打开对已经保存的列表用re.sub()进行替换操作并用f.writelines()函数写入。
实现代码
#!/usr/bin/env python3
# -*- encoding: utf-8 -*-File : Replace_string_of_Single_files.py
Time : 2024/01/28 14:28:30
Author : Admin
Version : 1.0
Software: Visual Studio Code
import redef new_file():f open(/home/mac.txt,r)alllinesf.readlines()f.close()f open(/home/mac.txt,w)for i in alllines:k re.sub(address,device.address,i)f.writelines(k)f.close()if __name__ __main__:new_file()2. 对多份文件支持递归子目录
代码思路设计如下
结合os模块依次读入文件夹路径子文件夹路径文件路径然后使用for循环对每份文件进行遍历然后执行读入文件、替换字符串、重新写入文件的操作。 示例要求实现指定文件夹下所有子文件夹中文件的字符串“address”替换成“device.address”
实现代码
#!/usr/bin/env python3
# -*- encoding: utf-8 -*-File : Replace_string_of_Multiple_files.py
Time : 2024/01/28 17:47:13
Author : Admin
Version : 1.0
Software: Visual Studio Code该函数实现批量读入文件并寻找替换某个字符串将修改后的字符串重新写入文件
file_PATH: 主文件夹路径
folder_path子文件夹路径
file_path文件路径
old_str: 待修改的字符串
new_str修改后的字符串import os
def new_file(file_PATH,old_str,new_str):folder_listos.listdir(file_PATH)#文件夹下的子文件夹列表for folder in folder_list:folder_pathos.path.join(file_PATH,folder)#子文件夹路径file_listos.listdir(folder_path)#子文件夹下的文件列表for file in file_list:file_pathos.path.join(folder_path,file)#文件路径with open(file_path, r, encodingutf-8) as f: # 以只读方式打开文件data f.read() # 读取文件读取为一个字符串str_replace data.replace(old_str,new_str)#将字符串中的某个字符进行替换with open(file_path, w, encodingutf-8) as f:#重新打开文件选择写入模式f.write(str_replace) # 将修改后的字符串重新写入文件
#函数执行
if __name__ __main__:file_PATHrE:\project_file\string\old_straddressnew_strdevice.addressnew_file(file_PATHfile_PATH,old_strold_str,new_strnew_str)