python 文件替换
import logging
def count_query(file_path, old_text):
# 尝试打开指定文件
try:
with open(file_path, 'r', encoding='utf-8') as file:
# 读取文件内容
content = file.read()
if len(old_text)>0:
# 计算原始文本出现的次数
original_count = content.count(old_text)
print(f"The text '{old_text}' appears {original_count} times in '{file_path}'.")
new_count = content.count(old_text)
return new_count
except Exception as e:
print(f"count_query: {e}")
def count_and_replace_file(file_path, old_text, new_text):
# 尝试打开指定文件
try:
with open(file_path, 'r', encoding='utf-8') as file:
# 读取文件内容
content = file.read()
if len(old_text)>0:
# 计算原始文本出现的次数
original_count = content.count(old_text)
print(f"The text '{old_text}' appears {original_count} times in '{file_path}'.")
new_count = content.count(old_text)
if new_count != 1:
logging.ERROR(f'发现个数是 {new_count} 不为1,请检查文件')
return
# 替换文件内容中的指定文本
content = content.replace(old_text, new_text)
# 写回修改后的内容到文件
with open(file_path, 'w', encoding='utf-8') as file:
file.write(content)
print(f"Text replaced successfully. The text '{new_text}' now appears {new_count} times in '{file_path}'.")
except FileNotFoundError:
print(f"The file {file_path} does not exist.")
except IOError as e:
print(f"An error occurred while processing the file: {e}")
if __name__ == '__main__':
query_count= count_query('../ui_3dView.py', 'self.treeWidget = QtWidgets.QTreeWidget(self.centralwidget)')
print("query_count",query_count)
if query_count==1:
count_and_replace_file('../ui_3dView.py', 'self.treeWidget = QtWidgets.QTreeWidget(self.centralwidget)', 'self.treeWidget = CustomTreeWidget(self)')
else:
logging.ERROR(f'发现个数是 {query_count} 不为1,请检查文件')